private void ContextMenuOpened(object sender, RoutedEventArgs e) { if (this.ClickedTreeViewItem != null) { IProjectItemViewModel dataItem = this.ClickedTreeViewItem.DataContext as IProjectItemViewModel; if (dataItem != null) { var items = this.ContextMenu.Items.Cast <RadMenuItem>(); var isProject = dataItem.Type == ProjectItemType.Project; var isDocument = (dataItem.Type != ProjectItemType.Project && dataItem.Type != ProjectItemType.Module && dataItem.Type != ProjectItemType.Folder); // Keinen Rename und auch kein Dokumente erstellen auf Projekt erlauben (items.FirstOrDefault(i => i.Tag?.ToString() == "Rename")).Visibility = isProject ? Visibility.Collapsed : Visibility.Visible; (items.FirstOrDefault(i => i.Tag?.ToString() == "AddFolder")).Visibility = isProject || isDocument ? Visibility.Collapsed : Visibility.Visible; (items.FirstOrDefault(i => i.Tag?.ToString() == "AddPage")).Visibility = isProject || isDocument ? Visibility.Collapsed : Visibility.Visible; (items.FirstOrDefault(i => i.Tag?.ToString() == "AddWorkflow")).Visibility = isProject || isDocument ? Visibility.Collapsed : Visibility.Visible; this.ProjectExplorerTreeView.SelectedItem = dataItem;//Funktioniert nicht. Warum? ViewModel.SelectedItem = dataItem; } else { this.ProjectExplorerTreeView.SelectedItem = null; ViewModel.SelectedItem = null; } } }
private static void CopyProjectContainerMembersFromModelToViewModel(ProjectItemContainerViewModel viewModel, ProjectItemContainerModel model) { viewModel.Id = model.Id; viewModel.ProjectId = model.ProjectId; viewModel.Name = model.Name; viewModel.LastModified = model.LastModified; //viewModel.Children = new ObservableCollection<IProjectItemViewModel>(); foreach (var childModel in model.Children) { IProjectItemViewModel childViewModel = null; if (childModel is ProjectDirectoryDto) { childViewModel = FromModelToViewModel((ProjectDirectoryDto)childModel); } else if (childModel is ProjectFileDto) { childViewModel = FromModelToViewModel((ProjectFileDto)childModel); } viewModel.InitialChildren.Add(childViewModel); } }
private void InsertDocumentAlphabetically(ObservableCollection <IProjectItemViewModel> items, IProjectItemViewModel documentItem) { var insertIndex = -1; for (int i = 0; i < items.Count; i++) { var item = items[i]; if (item.Type == ProjectItemType.Folder || item.Type == ProjectItemType.Module) { continue; } if (string.Compare(item.Title, documentItem.Title, StringComparison.CurrentCulture) > 0) { insertIndex = i; break; } } if (insertIndex == -1) { items.Add(documentItem); } else { items.Insert(insertIndex, documentItem); } }