Wpf 如何禁止用户删除datagrid中的行?

Wpf 如何禁止用户删除datagrid中的行?,wpf,wpfdatagrid,Wpf,Wpfdatagrid,假设数据网格具有ICollectionView作为其ItemsSource,允许用户删除/添加/编辑行。问题是,如果行中某个单元格的值具有特定值,如何禁止用户删除该行。换句话说: id Name IsSpecial ----------------------- 1 Foo true 2 Bar false 我希望用户能够更改Foo的名称,但不删除它,也不允许用户将该行的IsSpecial更改为false。但如果代码隐藏正常,则允许用户自由更改IsSp

假设数据网格具有ICollectionView作为其ItemsSource,允许用户删除/添加/编辑行。问题是,如果行中某个单元格的值具有特定值,如何禁止用户删除该行。换句话说:

id   Name    IsSpecial
-----------------------
1    Foo      true
2    Bar      false

我希望用户能够更改Foo的名称,但不删除它,也不允许用户将该行的IsSpecial更改为false。但如果代码隐藏正常,则允许用户自由更改IsSpecial为false的任何其他行上的任何值,以防止编辑使用事件。如果设置
e.Cancel=true
,则不会提交编辑


当然,您也希望阻止用户删除行。所以,我的建议是处理ICollectionView事件并取消您想要的更改

设置为
false
?几乎。。。我可能能够将CanUserDeleteRows绑定到确定当前行是否为“特殊”的内容,但我还需要禁止编辑IsSpecial列。