【发布时间】:2013-12-10 19:36:05
【问题描述】:
我正在尝试将 WPF 数据网格换成 xceed\Extended WPF Toolkit DataGridControl。
我需要对复选框列中的点击事件做出反应...以汇总其他一些列。
在现有的数据网格中,我有一个复选框列,它绑定到一个可观察的集合,如果选中\未选中任何复选框,我会调用一个方法。我为此使用的 xaml 是这样的:
<DataGridTemplateColumn Width="40" Header="Inc">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox
IsChecked="{Binding Include ,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Checked="CheckBoxUpdated" Unchecked="CheckBoxUpdated" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
对于 xceed datagridcontrol,我从下面的简单语法开始,初始绑定似乎没问题,但我没有点击事件来响应:
<xcdg:Column FieldName="Include" Title="Inc" />
现在我尝试使用 xceed datagridcontrol 执行类似于原始代码的操作,例如:
<xcdg:Column FieldName="Include" Title="Inc" Width="*" >
<xcdg:Column.CellContentTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Include ,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Click="CheckBoxUpdated"/>
</DataTemplate>
</xcdg:Column.CellContentTemplate>
但我认为这不是正确的语法。似乎绑定不起作用...基于集合的初始值。
(注意后面的代码将这个项目的来源设置为 dg.ItemsSource = collectionView;)
关于如何正确设置复选框 DataTemplate 和绑定的任何想法?
谢谢
【问题讨论】:
-
为什么不使用DataGridCheckBoxColumn?
-
可能是因为虽然它会使用 DataGridCheckBoxColumn 进行编译,但每次加载网格时都会失败。即它不起作用。
-
会在标题中放置一个“全选”复选框吗?
标签: wpf checkbox wpftoolkit