我使用WPF数据网格编辑数据库表。该表包含几个包含16列(属性)的记录。
如果用户在所选记录的其中一列具有特定值时尝试编辑它(换句话说,禁用某些记录的特定列的编辑),我想只读一列。
我正在考虑绑定到列 IsReadOnly 属性,但我不知道如何将我需要验证的列(或至少是当前行)作为转换器参数传递。
有人知道怎么做吗?
答案 0 :(得分:1)
我在这里找到了解决方案。使用DataGrid.BeginningEdit事件有条件地检查单元格是否可编辑,然后在事件args上设置Cancel属性,如果没有。
Conditionally making readonly to WPF DataGridCell
我不知道这是否是最佳解决方案,但它确实有效。
答案 1 :(得分:0)
我建议在设置DataColumn
的{{1}}时设置特定ItemsSource
只读。请考虑以下示例:
DataGrid