我通过折叠一个DataGrid中的某些行并在另一个DataGrid中显示它们来共享2个DataGrids之间的项集合。
除了bug之外,这个工作正常,如果用户在其中一个DataGrid中按Ctrl + a然后按Del,则另一个的内容也会被删除。
我想更改此行为,以便只删除发生删除的DataGrid中可见的项目。
我该怎么做?
答案 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;
}