0

我正在使用 MVVM 开发 Silverlight 应用程序。我的要求是在数据网格中显示现有用户数据,以便前两列保持不可编辑,其余列可编辑。

在开始数据网格从数据库加载数据时,如果用户单击数据网格,前两列应该是不可编辑的。

在该用户插入一个新行之后(我创建了一个按钮,当单击该按钮时,将在网格底部添加一个新行)所有列都应该是可编辑的,包括前两列。现在用户可以多次单击添加行按钮,点是添加按钮单击创建的行应该是可编辑的。

我从昨天开始就被这个问题困住了,任何帮助都会很棒!

4

1 回答 1

0

我不知道 Silverlight,但我认为以下应该有效:在添加新行的命令中,将“AllRowsEditable”之类的标志设置为 true 并为此属性抛出 PropertyChanged。在您的视图中,您将前两列的 IsReadonly 属性绑定到该“AllRowsEditable”属性。

编辑:为您的 DataGrid 项目编写一个 ViewModel。例如“RowViewModel”。为了有一个良好的结构,我将在该 ViewModel 中引入两个属性,如“IsFirstPropertyReadOnly”和“IsSecondPropertyReadOnly”。“...firstProperty...”是您的属性名称。在您的 XAML 中,您可以绑定到此属性。在您的第一次初始化中,您加载项目并将属性值设置为 true。之后添加的所有项目都将该属性设置为 false。

于 2013-05-03T09:19:28.043 回答