public void OnItemClicked(IItemViewModel vm) { ItemClicked?.Invoke(this, new ItemClickedEventArgs() { SelectedItem = vm }); }
/// <summary> /// изменилось состояние /// выделения элемента курса /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void ChangeCheckItem(object sender, EventArgs e) { try { if (sender == null) { throw new ArgumentNullException(); } IItemViewModel checkedItem = (IItemViewModel)sender; if (checkedItem == null) { throw new Exception("Неидентифицированный объект курса " + sender.GetType()); } bool isChecked = checkedItem.IsChecked == false ? false : true; /* model.SetIsConvertSelfOrChildren(checkedItem.Id, isChecked);*/ if (checkedItem.IsChecked == false) { RemoveCheckedItem(checkedItem.Id); } else { AddCheckedItem(checkedItem.Id); } } catch (Exception ex) { throw new Exception(ex.Message); } }
protected void Init(bool letUpdateList = true) { model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); var creator = new EventViewModelCreator(); var eventModelCreator = new EventModelAdapterCreator(); var vm = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vm.LetUpdate = letUpdateList; viewModel = vm; itemsVM = viewModel.ItemsVM; airportVM = itemsVM.FirstOrDefault(itmVM => itmVM.DataViewModel.Name == "Airport"); }
public ItemService(IItemViewModel viewModel, IRepositoryService repository) { _viewModel = viewModel; _viewModel.Title = "Item"; _viewModel.Item = new Item(); _repository = repository; }
/// <summary> /// Конструктор. /// </summary> /// <param name="leftItem">Элемент слева.</param> /// <param name="rightItem">Элемент справа.</param> public RowViewModel(IItemViewModel leftItem, IItemViewModel rightItem, IRowViewModel parent) { LeftItem = leftItem; RightItem = rightItem; ChildRows = new ObservableCollection <IRowViewModel>(); SetItemViewModelEvents(LeftItem); SetItemViewModelEvents(RightItem); }
public ItemRelationViewModel(IViewModelsFactory<ISearchItemViewModel> vmFactory, ItemRelation item, IItemViewModel parent) { _vmFactory = vmFactory; InnerItem = item; Parent = parent; ItemPickCommand = new DelegateCommand(RaiseItemPickInteractionRequest); CommonConfirmRequest = new InteractionRequest<Confirmation>(); }
public ItemRelationViewModel(IViewModelsFactory <ISearchItemViewModel> vmFactory, ItemRelation item, IItemViewModel parent) { _vmFactory = vmFactory; InnerItem = item; Parent = parent; ItemPickCommand = new DelegateCommand(RaiseItemPickInteractionRequest); CommonConfirmRequest = new InteractionRequest <Confirmation>(); }
public AssociationViewModel(IViewModelsFactory<ISearchItemViewModel> searchVmFactory, Association item, IItemViewModel parent) { InnerItem = item; _searchVmFactory = searchVmFactory; AvailableAssociationTypes = new[] { AssociationTypes.optional.ToString(), AssociationTypes.required.ToString() }; ItemPickCommand = new DelegateCommand(RaiseItemPickInteractionRequest); CommonConfirmRequest = new InteractionRequest<Confirmation>(); }
public InfoViewModel(Info model, IItemViewModel owner) { _model = model; Owner = owner; Authors = new AuthorsViewModel(_model.Authors, this); Sources = new SourcesViewModel(_model.Sources, this); BindHelper.Bind(Authors, _model.Authors); BindHelper.Bind(Sources, _model.Sources); }
/// <summary> /// установить "развернутость" /// узла /// </summary> private void SetExpanded(IItemViewModel itm) { if (itm.Children == null || itm.Children.Count < 1) { return; } itm.Children[0].IsExpanded = true; foreach (IItemViewModel iiv in itm.Children[0].Children) { SetExpanded(iiv); } }
public ItemPageController ( ILrpNavigation navigation, IItemViewModel <TItem> viewModel, IItemPage <TItem> page ) { _navigation = navigation ?? throw new ArgumentNullException(nameof(navigation)); _viewModel = viewModel ?? throw new ArgumentNullException(nameof(viewModel)); _page = page ?? throw new ArgumentNullException(nameof(page)); WirePage(); }
public virtual void SelectItem(IItemViewModel <DataModelType, DataViewModelType> itemVM) { if (CanSelectItem()) { //возникает когда удаляются все элементы из ObservCollection, //и устанавливается текущий элемент 0; if (itemVM == null) { return; } var itemModel = itemVM.GetItemModel(); SelectItemByModel(itemModel); } }
/// <summary> /// класс представления единицы курса /// </summary> /// <exception cref="ArgumentNullException"></exception> public ItemViewModel(IItemModel _item, IItemViewModel _parent) { if (_item == null) throw new ArgumentNullException(); Id = _item.Id; Name = _item.Title; Parent = _parent; InitChildren(_item); CacherChangeChildProperty(); }
void UpdateList(List <IItemViewModel <DataModelType, DataViewModelType> > itemViewModels) { //сохраняем текущий элемент //это необходимо, т.к. при последующей очистки списка, элемент обнуляется, из-за привязки var savedSelectedItem = SelectedItem; //производим полное обновление if (ItemsVM == null) { ItemsVM = new ObservableCollection <IItemViewModel <DataModelType, DataViewModelType> >(itemViewModels); } else { ItemsVM.Clear(); foreach (var viewModel in itemViewModels) { ItemsVM.Add(viewModel); } } //делаем необходимые действия если был выбранный элемент if (savedSelectedItem != null) { //ищем его в списке var selectedItemFromUpdate = itemViewModels.FirstOrDefault(itm => itm.DataViewModel.Equals(savedSelectedItem.DataViewModel)); //текущего элемента нет в обновлении if (selectedItemFromUpdate == null) { CurrentVM = null; SelectedItem = null; } //в противном случае, НЕ надо чтобы выбранный элемент был обновленным //он сам мебя должен обновлять //(такое ограничение, из-за того, что он сам может содержать свой список, который должен поддерживать текущий элемент) //устанавливаем только VM(не детальный) else { selectedItem = selectedItemFromUpdate; NotifyPropertyChanged("SelectedItem"); //var saveCurVM = CurrentVM; //SelectedItem = selectedItemFromUpdate; //CurrentVM = saveCurVM; } } }
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()); } }
public AssociationGroupViewModel( IViewModelsFactory <IAssociationViewModel> vmFactory, ICatalogEntityFactory entityFactory, AssociationGroup item, IItemViewModel parent) { InnerItem = item; _vmFactory = vmFactory; _entityFactory = entityFactory; _parent = parent; ItemAddCommand = new DelegateCommand(RaiseItemAddInteractionRequest); ItemEditCommand = new DelegateCommand <Association>(RaiseItemEditInteractionRequest, x => x != null); ItemRemoveCommand = new DelegateCommand <Association>(RaiseItemRemoveInteractionRequest, x => x != null); CommonConfirmRequest = new InteractionRequest <Confirmation>(); }
public AssociationGroupViewModel( IViewModelsFactory<IAssociationViewModel> vmFactory, ICatalogEntityFactory entityFactory, AssociationGroup item, IItemViewModel parent) { InnerItem = item; _vmFactory = vmFactory; _entityFactory = entityFactory; _parent = parent; ItemAddCommand = new DelegateCommand(RaiseItemAddInteractionRequest); ItemEditCommand = new DelegateCommand<Association>(RaiseItemEditInteractionRequest, x => x != null); ItemRemoveCommand = new DelegateCommand<Association>(RaiseItemRemoveInteractionRequest, x => x != null); CommonConfirmRequest = new InteractionRequest<Confirmation>(); }
/// <summary> /// класс представления единицы курса /// </summary> /// <exception cref="ArgumentNullException"></exception> public ItemViewModel(IItemModel _item, IItemViewModel _parent) { if (_item == null) { throw new ArgumentNullException(); } Id = _item.Id; Name = _item.Title; Parent = _parent; InitChildren(_item); CacherChangeChildProperty(); }
/// <summary> /// инициализировать представления /// дочерних элементов /// </summary> private void InitChildren(IItemModel _item) { Children = new List <IItemViewModel>(); if (_item.Items == null) { return; } IItemViewModel tmp = null; foreach (IItemModel im in _item.Items) { tmp = new ItemViewModel(im, this); Children.Add(tmp); } IsInitiallySelected = true; }
public IMedia LoadMedia() { if (_mediaSource != null) { return(_mediaSource); } IItemViewModel root = OwnerScenario.Owner; while (root.Owner != null) { root = root.Owner; } if (!(root is PackageViewModel packageViewModel)) { return(null); } _mediaSource = packageViewModel.Document.Wrap(this); return(_mediaSource); }
public void ChangeFavorite(IItemViewModel item, bool starred) { item.Starred = starred; if (starred) { Api.Items.MarkStarred(item.Parameter.Id); } else { Api.Items.MarkUnstarred(item.Parameter.Id); } }
public void ChangeUnread(IItemViewModel item, bool unread) { item.Unread = unread; if (unread) { Api.Items.MarkUnread(item.Parameter.Id); } else { Api.Items.MarkRead(item.Parameter.Id); } }
private void SetItemViewModelEvents(IItemViewModel itemViewModel) { itemViewModel.AcceptCommandChangedEvent += AcceptCommandChanged; itemViewModel.SyncErrorEvent += (string error) => { SyncErrorEvent?.Invoke(error); }; }
public AssociationViewModel(IViewModelsFactory <ISearchItemViewModel> searchVmFactory, Association item, IItemViewModel parent) { InnerItem = item; _searchVmFactory = searchVmFactory; AvailableAssociationTypes = new[] { AssociationTypes.optional.ToString(), AssociationTypes.required.ToString() }; ItemPickCommand = new DelegateCommand(RaiseItemPickInteractionRequest); CommonConfirmRequest = new InteractionRequest <Confirmation>(); }
/// <summary> /// установить "развернутость" /// узла /// </summary> private void SetExpanded(IItemViewModel itm) { if (itm.Children == null || itm.Children.Count<1) return; itm.Children[0].IsExpanded = true; foreach (IItemViewModel iiv in itm.Children[0].Children) SetExpanded(iiv); }