private void SetupDragOperationHost(IUserInputReceiver movingControl) { DragOperationHost.SetDragTarget(movingControl, WrappedSelectedItems); var items = DesignSurface.Children; var allExceptTarget = items.Except(WrappedSelectedItems.Children); DragOperationHost.SnappingEngine.Magnets = allExceptTarget.ToList(); }
public DesignAidsProvider(IDesignSurface designSurface) { DesignSurface = designSurface; SelectionAdorners = new Dictionary <ICanvasItem, IAdorner>(); EdgeAdorners = new Dictionary <Edge, IAdorner>(); PlaneOperation = PlaneOperation.Resize; DragOperationHost = new DragOperationHost(DesignSurface); DragOperationHost.DragStarted += DragOperationHostOnDragStarted; DragOperationHost.DragEnd += DragOperationHostOnDragEnd; SnappingEngine = new CanvasItemSnappingEngine(4); var snappedEdges = SnappingEngine.SnappedEdges; ((INotifyCollectionChanged)snappedEdges).CollectionChanged += SnappedEdgesOnCollectionChanged; DragOperationHost.SnappingEngine = SnappingEngine; }