У меня есть приложение MVVM, использующее вкладки, как в примере Джоша Смита. Каждый TabItem (View) представляет отдельную ViewModel.
В некоторых представлениях есть DataGrids, привязанные к ObservableCollections. Пока все работает нормально. Но когда я начинаю редактировать сетку данных, например набрав в ячейку и прежде чем нажать «Enter», чтобы отправить изменения, переключиться на другую вкладку, я действительно не могу вернуться на предыдущую вкладку. Содержимое вкладки изменяется, но элемент вкладки остается невыделенным. Думаю, мне каким-то образом нужно остановить режим редактирования таблицы данных, но как мне это сделать в приложении MVVM? Для ICollectionViewSource я знаю, что могу сделать это так
IEditableCollectionView list = (ListCollectionView)this.ItemsView;
if (list.IsEditingItem) list.CommitEdit();
if (list.IsAddingNew) list.CommitNew();
но я не могу этого сделать для ObservableCollection. Должен ли я изменить привязку к представлению наблюдаемой коллекции или есть другой способ?