![]() |
1
21
我也有同样的问题。 利用jsmith的答案和nigel spencer的博客中提供的信息,我提出了一个解决方案 不需要更改wpf datagrid源代码、子类化或将代码添加到视图的codebhind . 如您所见,我的解决方案对mvvm非常友好。 它使用 Expression Blend Attached Behavior mechanism 因此,您需要安装Expression Blend SDK并添加对Microsoft.Expression.Interactions.dll的引用,但此行为很容易转换为 native attached behavior 如果你不喜欢的话。 用途:
只读服务.cs
datagridrowreadonlybehavior.cs
|
![]() |
2
12
我找到了解决这个问题的几个简单方法。在我看来,最好的方法是连接到datagrid的beginningedit事件。这与Nigel Spencer在其文章中所做的类似,但您不必从DataGrid中重写它。这个解决方案很好,因为它不允许用户编辑该行中的任何单元格,但是它允许 允许他们选择行 . 在代码隐藏中:
在XAML中:
不同的解决方案 …这根本不允许用户选择行,但不需要代码隐藏中的其他代码。
|
![]() |
3
3
我认为最简单的方法是向datagridrow类添加isreadonly属性。奈杰尔·斯宾塞写了一篇详细的文章 here . |