Example #1
0
        static void OnSelectionModeChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            var TreeView = sender as TreeView;

            if ((TreeViewSelectionMode)e.NewValue == TreeViewSelectionMode.Single)
            {
                var SelectedItems = TreeViewExtensions.GetSelectedItems(TreeView);
                if (SelectedItems != null && SelectedItems.Count > 1)
                {
                    TreeView.SelectItem(TreeView.ItemContainerGenerator.ContainerFromItem(SelectedItems[0]).As <TreeViewItem>());
                }
            }
        }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="TreeView"></param>
 /// <param name="TreeViewItem"></param>
 public static void SelectItemsRandomly(this TreeView TreeView, TreeViewItem TreeViewItem)
 {
     TreeViewItemExtensions.SetIsSelected(TreeViewItem, !TreeViewItemExtensions.GetIsSelected(TreeViewItem));
     if (TreeViewExtensions.GetStartItem(TreeView) == null || Keyboard.Modifiers == ModifierKeys.Control)
     {
         if (TreeViewItemExtensions.GetIsSelected(TreeViewItem))
         {
             TreeViewExtensions.SetStartItem(TreeView, TreeViewItem);
         }
     }
     else
     {
         if (TreeViewExtensions.GetSelectedItems(TreeView).Count == 0)
         {
             TreeViewExtensions.SetStartItem(TreeView, null);
         }
     }
 }
Example #3
0
        static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var TreeViewItem = d as TreeViewItem;
            var TreeView     = TreeViewItem.GetVisualParent <TreeView>();

            if (TreeViewItem != null && TreeView != null)
            {
                var SelectedItems = TreeViewExtensions.GetSelectedItems(TreeView);
                if (SelectedItems != null)
                {
                    if (GetIsSelected(TreeViewItem))
                    {
                        SelectedItems.Add(TreeViewItem.DataContext);
                    }
                    else
                    {
                        SelectedItems.Remove(TreeViewItem.DataContext);
                    }
                }
            }
        }