public virtual void SelectItem(IItemViewModel <DataModelType, DataViewModelType> itemVM) { if (CanSelectItem()) { //возникает когда удаляются все элементы из ObservCollection, //и устанавливается текущий элемент 0; if (itemVM == null) { return; } var itemModel = itemVM.GetItemModel(); SelectItemByModel(itemModel); } }
public void DeleteItem(IItemViewModel <DataModelType, DataViewModelType> itemVM) { if (CanDeleteItem()) { ItemsVM.Remove(itemVM); var deleteModel = itemVM.GetItemModel(); var currentModel = CurrentVM.GetItemModel(); if (deleteModel.DataModel.Equals(currentModel.DataModel)) { CurrentVM = null; } addedAndDelatedItems[deleteModel] = ChangeStatus.Delete; Debug.Assert(StateCanChanged != null); StateCanChanged(this, new EventArgs()); } }