private void SelectWithShift(TreeViewExItem item)
        {
            object firstSelectedItem;

            if (lastShiftRoot != null)
            {
                firstSelectedItem = lastShiftRoot;
            }
            else
            {
                if (treeViewEx.SelectedItems.Count > 0)
                {
                    firstSelectedItem = treeViewEx.SelectedItems[0];
                }
                else
                {
                    firstSelectedItem = null;
                }
            }

            TreeViewExItem shiftRootItem = treeViewEx.GetTreeViewItemsFor(new List <object> {
                firstSelectedItem
            }).First();

            List <object> itemsToSelect   = treeViewEx.GetNodesToSelectBetween(shiftRootItem, item).Select(x => x.DataContext).ToList();
            List <object> itemsToUnSelect = ((IEnumerable <object>)treeViewEx.SelectedItems).ToList();

            ModifySelection(itemsToSelect, itemsToUnSelect);
        }
Exemplo n.º 2
0
        IRawElementProviderSimple[] ISelectionProvider.GetSelection()
        {
            List <IRawElementProviderSimple> list = new List <IRawElementProviderSimple>();

            TreeViewEx treeView = (TreeViewEx)Owner;

            foreach (var item in treeView.GetTreeViewItemsFor(treeView.SelectedItems))
            {
                list.Add(new TreeViewExItemAutomationPeer(item, this));
            }

            return(list.ToArray());
        }