有2个项目。
1)具有自定义DataGrid的UserControl。
2)使用此自定义DataGrid UserControl的客户端应用程序。
客户端应用程序具有使用自定义DataGrid控件的每个选项卡的选项卡控件。 客户端应用程序将DataTable发送到DataGrid UserControl,此表稍后转换为DataLogow的ObservableCollection,并在UserControl中设置为DataGrid的DataSource。 在DataGrid的所有列上都有一个TwoWay绑定集 Grid中的所有列都是只读的。
现在,当我在其中一个网格上尝试复制操作(Ctrl + C)时,会生成一个异常
TwoWay或OneWayToSource绑定无法对“System.Data.DataRowView”类型的只读属性“ID”起作用。
此处ID是列名。
设置与OneWay的绑定可以解决问题。但我想知道为什么只在一个特定的Tab上执行复制操作时才会生成此异常。复制在所有其他选项卡上完全正常工作(设置了类似的只读属性)。
由于尝试修改而发出异常。 DataContext没有任何更改。为了确保,我在DataContext更改事件中设置了一个断点。发生异常时不会触发此事件。在什么情况下会引发这个特殊的异常?