private void ViewModel_OnPropertyChanged(object sender, PropertyChangedEventArgs e) { SubjectAttachmentsViewModelBase viewModel = viewModelGetter(); if (e.PropertyName == nameof(SubjectNotesViewModel.IsDetailing)) { if (viewModel.IsDetailing) { CancelDetailing(false); Border border = CreatePopupBorder(DetailedAttachTag); border.Child = AttachmentPanelResolver.GetDetailedAttachmentPanelView(viewModel.DetailedAttachmentDecorator); var detailedView = (IDetailedAttachnemtView)border.Child; detailedViewStack.Push(detailedView); detailedView.EventCancelRequest += DetailedAttachmentView_OnCancelRequest; AddPopupBorderToRoot(border); delayedFocuser.RequestDelayedEvent(); } else { CancelDetailing(true); var removedView = detailedViewStack.Pop(); if (detailedViewStack.Any()) { viewModel.CommandOpenDetails.Execute(null); } } } }
private TModel CreateNewAttachment() { SubjectAttachmentsViewModelBase viewModel = viewModelGetter(); var model = MainContainer.Instance.Resolve <TModel>(); model.RootSubjectId = RootSubjectIdentifier.Identify(viewModel.CurrentNotesOwner); model.RootSubjectType = viewModel.CurrentNotesOwner.TypeOfSubject; model.HostType = viewModel.CurrentNotesOwner.TypeOfSubject.ToAttachmentHostType(); model.HostId = model.RootSubjectId; return(model); }
public static DataTemplate CreateNew_GetSpecificContentTemplate(SubjectAttachmentsViewModelBase rootViewModel) { if (rootViewModel is SubjectNotesViewModel) { return(null); } if (rootViewModel is SubjectPhotosViewModel) { return((DataTemplate)Application.Current.Resources[SpecificPhotoAlbumTemplate_CreateNew]); } throw new NotImplementedException(); }
public void OnLoaded() { NonDesignInvoker.Invoke(parent, () => { SubjectAttachmentsViewModelBase viewModel = viewModelGetter(); viewModel.PropertyChanged += ViewModel_OnPropertyChanged; var binding = new Binding { Mode = BindingMode.OneWay, Path = new PropertyPath(nameof(SubjectAttachmentsViewModelBase.AttachmentDecorators)) }; attachesListGetter().SetBinding(ItemsControl.ItemsSourceProperty, binding); ClientCommands.EventAttachmentSaveAttempt += ClientCommands_OnAttachmentSaveAttempt; ClientCommands.EventCancelDetailingAttachment += ClientCommands_OnCancelDetailingAttachment; delayedFocuser.DelayedEvent += DelayedFocuser_OnDelayedEvent; }); }