protected override bool CanStart(object context) { RadItem draggedItem = context as RadItem; if (draggedItem == null) { return(false); } if (!this.beginPoint.HasValue) { this.beginPoint = Control.MousePosition; } Point mouseDownStartPostion = draggedItem.ElementTree.Control.PointToClient(this.beginPoint.Value); bool canStartDrag = (draggedItem as ISupportDrag).CanDrag(mouseDownStartPostion); PreviewDragStartEventArgs args = new PreviewDragStartEventArgs(draggedItem); args.CanStart = canStartDrag; this.OnPreviewDragStart(args); if (!args.CanStart) { this.beginPoint = null; } return(args.CanStart); }
protected virtual void OnPreviewDragStart(PreviewDragStartEventArgs e) { EventHandler <PreviewDragStartEventArgs> eh = this.Events[PreviewDragStartEventKey] as EventHandler <PreviewDragStartEventArgs>; if (eh != null) { eh(this, e); } }
protected virtual void OnPreviewDragStart(PreviewDragStartEventArgs e) { EventHandler <PreviewDragStartEventArgs> eventHandler = this.Events[RadDragDropService.PreviewDragStartEventKey] as EventHandler <PreviewDragStartEventArgs>; if (eventHandler == null) { return; } eventHandler((object)this, e); }
protected override bool CanStart(object context) { RadItem radItem = context as RadItem; if (radItem == null) { return(false); } if (!this.beginPoint.HasValue) { this.beginPoint = new Point?(Control.MousePosition); } Point client = radItem.ElementTree.Control.PointToClient(this.beginPoint.Value); bool flag = ((ISupportDrag)radItem).CanDrag(client); PreviewDragStartEventArgs e = new PreviewDragStartEventArgs((ISupportDrag)radItem); e.CanStart = flag; this.OnPreviewDragStart(e); if (!e.CanStart) { this.beginPoint = new Point?(); } return(e.CanStart); }