DataGridTemplateColumn中的复选框出现故障
本文关键字:故障 复选框 DataGridTemplateColumn | 更新日期: 2024-09-21 09:46:33
我在Silverlight中将带有复选框的DataGridTemplateColumn添加到我的Datagrid中。复选框已作为列成功添加到数据网格中。但是,如果我选中多个chcekbox,该列中的其他一些复选框将自动受到影响(即,从选中更改为未选中,反之亦然)。我没有为该复选框添加任何事件处理程序,那么这怎么会发生呢?在我看来,如果我滚动数据网格以查看更多记录,数据网格会自动刷新/更新,此时复选框会被打乱。我的代码如下所示:
DataGridTemplateColumn templateColumn = new DataGridTemplateColumn() { Header = "header",Width=new DataGridLength(50) };
StringBuilder CellTemp = new StringBuilder();
CellTemp.Append("<DataTemplate ");
CellTemp.Append("xmlns='http://schemas.microsoft.com/winfx/");
CellTemp.Append("2006/xaml/presentation' ");
CellTemp.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' >");
CellTemp.Append("<CheckBox x:Name='" + "checkBoxHeader" + "' Margin='4' IsChecked='False'/>");
CellTemp.Append("</DataTemplate>");
templateColumn.CellTemplate = (DataTemplate)XamlReader.Load(CellTemp.ToString());
ftrDataGrid.Columns.Add(templateColumn);
我应该如何解决这个问题,我应该向这个数据网格添加一个事件处理程序,但如何解决?
非常感谢您的投入,
Wei
在模板中设置绑定非常简单:
DataGridTemplateColumn templateColumn = new DataGridTemplateColumn() { Header
...
CellTemp.Append("<CheckBox x:Name='" + "checkBoxHeader" + "' Margin='4' IsChecked="{Binding MyProperty, Mode=TwoWay}"/>");
...
ftrDataGrid.Columns.Add(templateColumn);
其中MyProperty是布尔值。