public void MouseDownHandler(IMouseClickReport report) { Message = $"Clicked ({report.AbsoluteLocation()}) / ({report.RelativeLocation()})"; report .ExtractSize(out var size) .DragSource() .BindLocalDragger( LocalDragger.MinimumDrag( LocalDragger.RelativeToSize(size, LocalDragger.Action(p => Message = $"Drag to {p}")))); }
public void BeginDragInt(IMouseClickReport click) { click.DragSource() .DragTarget(0.5) .Drag(() => new DataObject(12), DragDropEffects.Copy); }
public void BeginDrag(IMouseClickReport click) { click.DragSource() .DragTarget(0.5) .Drag(() => new DataObject("This is Dragged Text"), DragDropEffects.Copy); }
public static IMouseDataSource DragByViewType(this IMouseClickReport mcr, params Type[] dragTypes) => mcr.AttachToDataContextHolder(dragTypes).DragSource();
public static IMouseDataSource DragByName(this IMouseClickReport mcr, string name) => mcr.AttachToName(name).DragSource();
public static IMouseDataSource DragByViewType <T>(this IMouseClickReport mcr) where T : FrameworkElement => mcr.AttachToType(typeof(T)).DragSource();
public static IMouseDataSource DragTop(this IMouseClickReport mcr) => mcr.AttachToTop().DragSource();
public static IMouseDataSource DragLeaf(this IMouseClickReport mcr) => mcr.DragSource();
public static IMouseClickReport ExtractBounds(this IMouseClickReport mds, out Rect bounds) { bounds = new Rect(new Point(), mds.TargetSize()); return(mds); }
public static IMouseClickReport ExtractSize(this IMouseClickReport mds, out Size size) { size = mds.TargetSize(); return(mds); }
private FrameworkElement GetTarget(IMouseClickReport mcr) => mcr.Target;