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); } } } }
public void BeginAddNewAttachment() { TModel model = CreateNewAttachment(); var newAttachView = new CreateAttachmentView { SpecificContentTemplate = AttachmentPanelResolver.CreateNew_GetSpecificContentTemplate(viewModelGetter()) }; newAttachView.DataContext = viewModelCreator(model); newAttachView.IsVisibleChanged += NewAttachView_OnIsVisibleChanged; newAttachView.EventCancelRequest += NewAttachViewOnCancelRequest; Border border = CreatePopupBorder(NewAttachTag); border.Child = newAttachView; AddPopupBorderToRoot(border); isAddingNewSetter(true); }