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); } } }
public override bool CanDrop(ItemDropRequest request, Point mouse) { return(true); }
public override bool CanDrop(ItemDropRequest request, Point mouse) { return(request != null); }