コード例 #1
0
 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}"))));
 }
コード例 #2
0
 public void BeginDragInt(IMouseClickReport click)
 {
     click.DragSource()
     .DragTarget(0.5)
     .Drag(() => new DataObject(12), DragDropEffects.Copy);
 }
コード例 #3
0
 public void BeginDrag(IMouseClickReport click)
 {
     click.DragSource()
     .DragTarget(0.5)
     .Drag(() => new DataObject("This is Dragged Text"), DragDropEffects.Copy);
 }
コード例 #4
0
 public static IMouseDataSource DragByViewType(this IMouseClickReport mcr, params Type[] dragTypes) =>
 mcr.AttachToDataContextHolder(dragTypes).DragSource();
コード例 #5
0
 public static IMouseDataSource DragByName(this IMouseClickReport mcr, string name) =>
 mcr.AttachToName(name).DragSource();
コード例 #6
0
 public static IMouseDataSource DragByViewType <T>(this IMouseClickReport mcr) where T : FrameworkElement =>
 mcr.AttachToType(typeof(T)).DragSource();
コード例 #7
0
 public static IMouseDataSource DragTop(this IMouseClickReport mcr) =>
 mcr.AttachToTop().DragSource();
コード例 #8
0
 public static IMouseDataSource DragLeaf(this IMouseClickReport mcr) =>
 mcr.DragSource();
コード例 #9
0
 public static IMouseClickReport ExtractBounds(this IMouseClickReport mds, out Rect bounds)
 {
     bounds = new Rect(new Point(), mds.TargetSize());
     return(mds);
 }
コード例 #10
0
 public static IMouseClickReport ExtractSize(this IMouseClickReport mds, out Size size)
 {
     size = mds.TargetSize();
     return(mds);
 }
コード例 #11
0
 private FrameworkElement GetTarget(IMouseClickReport mcr) => mcr.Target;