Beispiel #1
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            if (e.LeftButton == MouseButtonState.Pressed)
            {
                Point position = e.GetPosition(this);
                Size  dragSize = new Size(
                    SystemParameters.MinimumHorizontalDragDistance,
                    SystemParameters.MinimumVerticalDragDistance);

                if (Math.Abs(position.X - this.beginPosition.X) > dragSize.Width / 2 ||
                    Math.Abs(position.Y - this.beginPosition.Y) > dragSize.Height / 2)
                {
                    ShowPreviewWindow();

                    var request = new ItemDropRequest(Model.Metadata.Element);

                    if (Model is ToolBoxItemFunctionModel functionModel)
                    {
                        request.Data = functionModel.MethodInfo;
                    }

                    DragDrop.DoDragDrop(this, request, DragDropEffects.None);

                    HidePreviewWindow();

                    Selector.SetIsSelected(this, false);
                }
            }
        }
Beispiel #2
0
 public override bool CanDrop(ItemDropRequest request, Point mouse)
 {
     return(true);
 }
Beispiel #3
0
 public override bool CanDrop(ItemDropRequest request, Point mouse)
 {
     return(request != null);
 }