public static TViewModel GetParentViewModel <TViewModel>(object viewModel)
        {
            ISupportParentViewModel parentViewModelSupport = viewModel as ISupportParentViewModel;

            if (parentViewModelSupport != null)
            {
                return((TViewModel)parentViewModelSupport.ParentViewModel);
            }
            return(default(TViewModel));
        }
示例#2
0
        public async void Save()
        {
            try {
                await UnitOfWork.CommitChangesAsync();
            } catch (LockingException) {
                MessageBoxService.ShowMessage("The object was modified by another user. Please reload data.", "XPO Tutorial", MessageButton.OK, MessageIcon.Stop);
                return;
            }
            ISupportParentViewModel spv = (ISupportParentViewModel)this;
            CustomerListViewModel   vm  = (CustomerListViewModel)spv.ParentViewModel;

            vm.Reload();
            DocumentManagerService.ActiveDocument.Close();
        }
        public static void EnsureViewModel(object viewModel, object parentViewModel, object parameter = null)
        {
            ISupportParentViewModel parentViewModelSupport = viewModel as ISupportParentViewModel;

            if (parentViewModelSupport != null)
            {
                parentViewModelSupport.ParentViewModel = parentViewModel;
            }
            ISupportParameter parameterSupport = viewModel as ISupportParameter;

            if (parameterSupport != null && parameter != null)
            {
                parameterSupport.Parameter = parameter;
            }
        }
        public static void EnsureModuleViewModel(object module, object parentViewModel, object parameter = null)
        {
            ISupportViewModel vm = module as ISupportViewModel;

            if (vm != null)
            {
                object oldParentViewModel = null;
                ISupportParentViewModel parentViewModelSupport = vm.ViewModel as ISupportParentViewModel;
                if (parentViewModelSupport != null)
                {
                    oldParentViewModel = parentViewModelSupport.ParentViewModel;
                }
                EnsureViewModel(vm.ViewModel, parentViewModel, parameter);
                if (oldParentViewModel != parentViewModel)
                {
                    vm.ParentViewModelAttached();
                }
            }
        }