コード例 #1
0
        private void SetupDragOperationHost(IUserInputReceiver movingControl)
        {
            DragOperationHost.SetDragTarget(movingControl, WrappedSelectedItems);

            var items = DesignSurface.Children;

            var allExceptTarget = items.Except(WrappedSelectedItems.Children);

            DragOperationHost.SnappingEngine.Magnets = allExceptTarget.ToList();
        }
コード例 #2
0
        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;
        }