【发布时间】:2012-08-04 17:23:34
【问题描述】:
我有一个 MVVM 应用程序,它使用 Josh Smith 示例中的选项卡。每个 TabItem (View) 代表一个单独的 ViewModel。
在某些视图上,有绑定到 ObservableCollections 的 DataGrid。到目前为止一切正常。但是当我开始编辑数据网格时,例如通过输入一个单元格,然后在点击“输入”提交更改之前,切换到另一个选项卡,我真的无法回到上一个选项卡。 Tab 内容发生变化,但 tabitem 保持未选中状态。 我想我必须以某种方式停止数据网格的编辑模式,但我该如何在 MVVM 应用程序中做到这一点? 对于 ICollectionViewSource,我知道我可以这样做
IEditableCollectionView list = (ListCollectionView)this.ItemsView;
if (list.IsEditingItem) list.CommitEdit();
if (list.IsAddingNew) list.CommitNew();
但我不能为 ObservableCollection 执行此操作。我必须将绑定更改为可观察集合的视图还是有其他方法?
【问题讨论】:
-
您能否生成一个小代码示例来演示新项目中的问题?
标签: wpf mvvm observablecollection tabitem