添加新项目后,WPF Datagrid进入编辑

时间:2015-08-25 13:02:20

标签: c# wpf mvvm datagrid

我有一个WPF DataGrid,只有一个列,它绑定到我的ViewModel中的ObservableCollection。用户单击一个按钮,将新项添加到列表中。项目将添加到ObservableCollection中,新项目将按预期显示在DataGrid中。

每次用户添加新项目时,我都希望将新单元格置于编辑模式,以便用户可以编辑项目的名称。不知道如何使用MVVM模式执行此操作。

1 个答案:

答案 0 :(得分:-2)

不幸的是,没有简单的方法以MVVM模式执行此操作,因为DataGridCell上的必要属性不存在,而DataGrid中的编辑模式只能通过调用方法。

最小化解决方案的肮脏的方法是实现一个接口,以便View中的代码可以对付接口,而不是直接与您的ViewModel进行交互,至少可以在某个级别上进行解耦。在DataContextChanged的{​​{1}}处理程序中附加界面的事件处理程序。

理想情况下,您的界面应该引发一个事件,然后您在View代码隐藏中处理该事件,以便在您专注于特定单元格后调用View上的BeginEdit()。聚焦特定单元格,开始编辑,然后聚焦现在创建的子编辑元素控件(即DataGrid)。

例如:

TextBox