WPF DataGrid的“全部选中”复选框,其中复选框已有源?

时间:2011-06-08 15:45:16

标签: c# .net wpf .net-4.0

有一个带有复选框的列的WPF DataGrid。这些复选框已绑定到某些数据源。我们想要的是每个列的复选框,用于检查/取消选中所有复选框(并因此更新数据源,以便所有值都相同)。

如果没有现有的数据源,现有的解决方案在这里工作 - 但我们实际上有两个,'全选'复选框和行中其他复选框绑定的实际数据,如果这是有道理的。< / p>

如果我们可以使用触发器或某些触发器代替“后面的代码”,那将是理想的。有声明性解决方案吗?

2 个答案:

答案 0 :(得分:2)

使CheckBox的Click事件指向ViewModel中的一个Command,它迭代您的DataSource并将IsChecked设置为true。

答案 1 :(得分:-1)

标准解决方案可以使用数据绑定网格。找到了一个例子(http://www.4guysfromrolla.com/articles/120810-1.aspx)。这个例子是完全客户端的。

当您回发时会出现问题,但如果您没有将检查全部恢复到数据库并刷新绑定的数据,那么这只是一个问题。在这些情况下,您需要确保传回一些内容以指示全部检查,以便您可以在回发后再次动态设置框。