如何防止折叠的DataGrid行被删除?

时间:2012-08-19 18:46:42

标签: c# wpf xaml datagrid

我通过折叠一个DataGrid中的某些行并在另一个DataGrid中显示它们来共享2个DataGrids之间的项集合。

除了bug之外,这个工作正常,如果用户在其中一个DataGrid中按Ctrl + a然后按Del,则另一个的内容也会被删除。

我想更改此行为,以便只删除发生删除的DataGrid中可见的项目。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可能需要挂钩CollectionChanged事件并检查以确保要删除的OldItems是可见的。如果没有,请将它们重新添加。

这并不是一种非常好的做事方式。你能不能用两个"观看"在某种程度上(并且我不是指"查看"在MVVM中)?这是一种双向约束吗?

答案 1 :(得分:0)

解决方案可能是 Ctrl + A

void DataGridView_KeyDown( object sender, KeyEventArgs e ) {
    if ( e.Modifiers == Keys.Control && e.KeyCode ==  Keys.A ) 
        e.SuppressKeyPress = true;
}