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);
        }
Beispiel #3
0
        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;
            });
        }