コード例 #1
0
        private void TvFolders_OnContextMenuOpening(object sender, ContextMenuEventArgs e)
        {
            var tv = (TreeView)sender;

            MiProjectsInFolder.Items.Clear();
            var folder = tv.SelectedItem as FolderItem;

            if (folder?.Projects == null || folder.Projects.Count == 0)
            {
                return;
            }
            foreach (var project in folder.Projects)
            {
                var menuItem = new MenuItem
                {
                    Header = project.Name
                };
                menuItem.Click += (o, args) =>
                {
                    LvProjects.Tag = 1;
                    LvProjects.UnselectAll();
                    project.IsSelected = true;
                    LvProjects.Tag     = null;
                };
                MiProjectsInFolder.Items.Add(menuItem);
            }
        }
コード例 #2
0
        private void TvFoldersOnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            var tv = (TreeView)sender;

            if (tv.Tag != null)
            {
                return;
            }
            var selectedFolder = tv.SelectedItem as FolderItem;

            if (selectedFolder == null)
            {
                return;
            }

            LvProjects.Tag = 1;

            LvProjects.UnselectAll();

            if (selectedFolder.Projects == null)
            {
                return;
            }

            foreach (var project in selectedFolder.Projects)
            {
                project.IsSelected = true;
            }

            LvProjects.Tag = null;
        }