protected override void SelectOnly(DragTreeViewItem item) { base.SelectOnly(item); var node = item.DataContext as IOutlineNode; var surface = node.DesignItem.View.TryFindParent<DesignSurface>(); if (surface != null) surface.ScrollIntoView(node.DesignItem); }
internal void ItemAttached(DragTreeViewItem item) { if (item.IsSelected) Selection.Add(item); }
internal void ItemMouseUp(DragTreeViewItem item) { if (upSelection == item) { SelectOnly(item); } upSelection = null; }
void Select(DragTreeViewItem item) { Selection.Add(item); item.IsSelected = true; OnSelectionChanged(); }
public virtual bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem) { return true; }
protected virtual void Insert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy) { }
protected virtual void SelectOnly(DragTreeViewItem item) { ClearSelection(); Select(item); OnSelectionChanged(); }
protected override bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy) { UpdateCustomNodes(items); return((target.DataContext as IOutlineNode).CanInsert(_customOutlineNodes, after == null ? null : after.DataContext as IOutlineNode, copy)); }
public virtual bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem) { return(true); }
protected virtual void Remove(DragTreeViewItem target, DragTreeViewItem item) { }
protected virtual bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy) { return(true); }
void Unselect(DragTreeViewItem item) { Selection.Remove(item); item.IsSelected = false; OnSelectionChanged(); }
internal void ItemDetached(DragTreeViewItem item) { if (item.IsSelected) Selection.Remove(item); }
internal void ItemIsSelectedChanged(DragTreeViewItem item) { if (item.IsSelected) { Selection.Add(item); } else { Selection.Remove(item); } }
public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem) { var node = dragTreeViewitem.DataContext as IOutlineNode; return string.IsNullOrEmpty(Filter) || node.Name.ToLower().Contains(Filter.ToLower()); }
public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem) { var node = dragTreeViewitem.DataContext as IOutlineNode; return string.IsNullOrEmpty(Filter) || node.DesignItem.Services.GetService<IOutlineNodeNameService>().GetOutlineNodeName(node.DesignItem).ToLower().Contains(Filter.ToLower()); }
protected virtual bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy) { return true; }
void PrepareDropInfo(DragEventArgs e) { dropTarget = null; dropAfter = null; treeItem = (e.OriginalSource as DependencyObject).GetVisualAncestors().OfType<DragTreeViewItem>().FirstOrDefault(); if (treeItem != null) { var parent = ItemsControl.ItemsControlFromItemContainer(treeItem) as DragTreeViewItem; ContentPresenter header = treeItem.HeaderPresenter; Point p = e.GetPosition(header); part = (int)(p.Y / (header.ActualHeight / 3)); dropCopy = Keyboard.IsKeyDown(Key.LeftCtrl); dropInside = false; if (part == 1 || parent == null) { dropTarget = treeItem; dropInside = true; if (treeItem.Items.Count > 0) { dropAfter = treeItem.ItemContainerGenerator.ContainerFromIndex(treeItem.Items.Count - 1) as DragTreeViewItem; } } else if (part == 0) { dropTarget = parent; var index = dropTarget.ItemContainerGenerator.IndexFromContainer(treeItem); if (index > 0) { dropAfter = dropTarget.ItemContainerGenerator.ContainerFromIndex(index - 1) as DragTreeViewItem; } } else { dropTarget = parent; dropAfter = treeItem; } } }
internal void ItemMouseDown(DragTreeViewItem item) { upSelection = null; bool control = Keyboard.IsKeyDown(Key.LeftCtrl); if (Selection.Contains(item)) { if (control) { Unselect(item); } else { upSelection = item; } } else { if (control) { Select(item); } else { SelectOnly(item); } } }
protected override void Insert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy) { UpdateCustomNodes(items); (target.DataContext as OutlineNode).Insert(_customOutlineNodes, after == null ? null : after.DataContext as OutlineNode, copy); }
public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem) { var node = dragTreeViewitem.DataContext as IOutlineNode; return(string.IsNullOrEmpty(Filter) || node.Name.ToLower().Contains(Filter.ToLower())); }