public DirectoryTreeItem2() { this.AddHandler(TreeViewItem.DragEnterEvent, (RoutedEventHandler)((o, e) => { if (UITools.GetParentTreeViewItem(e.OriginalSource as FrameworkElement).Equals(this)) { IsDraggingOver = true; } })); this.AddHandler(TreeViewItem.DropEvent, (RoutedEventHandler)((o, e) => { if (UITools.GetParentTreeViewItem(e.OriginalSource as FrameworkElement).Equals(this)) { IsDraggingOver = false; } })); this.AddHandler(TreeViewItem.DragLeaveEvent, (RoutedEventHandler)((o, e) => { if (UITools.GetParentTreeViewItem(e.OriginalSource as FrameworkElement).Equals(this)) { IsDraggingOver = false; } })); }
public DirectoryTree2() { #region ContextMenu this.AddHandler(TreeViewItem.MouseRightButtonUpEvent, new MouseButtonEventHandler( (MouseButtonEventHandler) delegate(object sender, MouseButtonEventArgs args) { TreeViewItem sourceItem = UITools.GetParentTreeViewItem(args.OriginalSource as FrameworkElement); if (sourceItem != null) { if (!sourceItem.IsSelected) { TreeViewItemAutomationPeer peer = new TreeViewItemAutomationPeer(sourceItem); ISelectionItemProvider invokeProv = peer.GetPattern(PatternInterface.SelectionItem) as ISelectionItemProvider; invokeProv.Select(); } if (sourceItem.IsSelected) { if (ContextMenuCommand != null && ContextMenuCommand.CanExecute(this.SelectedItem)) { ContextMenuCommand.Execute(this.SelectedItem); } } } })); #endregion W7TreeViewItemUtils.SetIsEnabled(this, true); }