Beispiel #1
0
        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;
                }
            }));
        }
Beispiel #2
0
        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);
        }