public TreeCatalogViewModel( IViewModelsFactory<ICatalogViewModel> vmFactory, catalogModel.Catalog item, IRepositoryFactory<ICatalogRepository> repositoryFactory, IAuthenticationContext authContext, INavigationManager navigationManager, IViewModelsFactory<ICatalogDeleteViewModel> catalogDeleteVmFactory, IViewModelsFactory<ITreeCategoryViewModel> treeCategoryVmFactory, IDataManagementService exportService) : base(repositoryFactory, authContext) { InnerItem = item; EmbeddedHierarchyEntry = this; _catalogDeleteVmFactory = catalogDeleteVmFactory; _treeCategoryVmFactory = treeCategoryVmFactory; _exportService = exportService; OpenItemCommand = new DelegateCommand(() => { if (NavigationData == null) { var editVM = vmFactory.GetViewModelInstance(new KeyValuePair<string, object>("item", InnerItem) , new KeyValuePair<string, object>("parentTreeVM", this)); NavigationData = ((IClosable)editVM).NavigationData; } navigationManager.Navigate(NavigationData); }); ExportItemCommand = new DelegateCommand(() => RaiseExportItemCommand()); }