예제 #1
0
        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);
            }
        }