예제 #1
0
        private void myRelationshipTree_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var dragAction = DragDropEffects.None;

            if ((Keyboard.Modifiers & ModifierKeys.Shift) != ModifierKeys.None)
            {
                dragAction = DragDropEffects.Move;
            }
            else if ((Keyboard.Modifiers & ModifierKeys.Control) != ModifierKeys.None)
            {
                dragAction = DragDropEffects.Copy;
            }

            if (dragAction == DragDropEffects.None)
            {
                return;
            }

            var draggedItem = myTree.GetItemAtLocation <TreeViewItem>(MouseUtilities.GetMousePosition(myTree));

            if (draggedItem == null)
            {
                return;
            }

            var dragInfo = new TreeDragInfo(draggedItem);

            dragInfo.Action = dragAction;

            DragDrop.DoDragDrop(myTree, dragInfo.ToDataObject(), dragInfo.Action);
            e.Handled = true;
        }
예제 #2
0
        private void myRelationshipTree_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
        {
            var dragAction = DragDropEffects.None;

            if ( ( Keyboard.Modifiers & ModifierKeys.Shift ) != ModifierKeys.None )
            {
                dragAction = DragDropEffects.Move;
            }
            else if ( ( Keyboard.Modifiers & ModifierKeys.Control ) != ModifierKeys.None )
            {
                dragAction = DragDropEffects.Copy;
            }

            if ( dragAction == DragDropEffects.None )
            {
                return;
            }

            var draggedItem = myTree.GetItemAtLocation<TreeViewItem>( MouseUtilities.GetMousePosition( myTree ) );
            if ( draggedItem == null )
            {
                return;
            }

            var dragInfo = new TreeDragInfo( draggedItem );
            dragInfo.Action = dragAction;

            DragDrop.DoDragDrop( myTree, dragInfo.ToDataObject(), dragInfo.Action );
            e.Handled = true;
        }