WPF Datagrid,一旦创建就可以选择或关注行?

时间:2014-06-08 16:09:22

标签: c# wpf mvvm datagrid

问题确实如此......

我喜欢在创建时创建的行,因为用户可能希望在创建后对该行执行某些操作。

我通常通过ViewModel使用可观察的Collection创建一行,一旦添加了集合,WPF DataGrid的ItemSource就会刷新。

如有必要,我会发布代码。

但是,如果有解决方案,它可以在DataGrid的视图中,也可以在MVVM中。我真的不在乎。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

首先,您需要将DataGrid的SelectedItem绑定到模型中的属性。我不记得SelectedItem的默认绑定模式是2路,但如果没有,请在绑定中指定2路,以便在模型中设置它的值。

添加新记录时,您需要存储对主键值的引用,然后在刷新ItemSource后,您需要找到与存储的主键值匹配的对象。

例如,如果您有一个整数主键:

int recordId = [value of primary key in new record]
Records = [select records from database]
GridItemSource = Records;
SelectedItem = Records.Where(x => x.RecordId == recordId).FirstOrDefault();

如果您使用的是包含标识列的主键,则需要在插入记录后立即获取新ID。

相关问题