/// <summary> /// Event raised while the user is dragging a node. /// </summary> private void NodeItem_Dragging(object source, NodeDraggingEventArgs e) { e.Handled = true; // // Cache the NodeItem for each selected node whilst dragging is in progress. // if (this.cachedSelectedNodeItems == null) { this.cachedSelectedNodeItems = new List<NodeItem>(); foreach (var selectedNode in this.SelectedNodes) { NodeItem nodeItem = FindAssociatedNodeItem(selectedNode); if (nodeItem == null) { throw new ApplicationException("Unexpected code path!"); } this.cachedSelectedNodeItems.Add(nodeItem); } } // // Update the position of the node within the Canvas. // foreach (var nodeItem in this.cachedSelectedNodeItems) { nodeItem.X += e.HorizontalChange; nodeItem.Y += e.VerticalChange; } var eventArgs = new NodeDraggingEventArgs(NodeDraggingEvent, this, this.SelectedNodes, e.HorizontalChange, e.VerticalChange); RaiseEvent(eventArgs); }
/// <summary> /// Event raised while the user is dragging a node. /// </summary> private void NodeItem_Dragging(object source, NodeDraggingEventArgs e) { e.Handled = true; // // Cache the NodeItem for each selected node whilst dragging is in progress. // if (this.cachedSelectedNodeItems == null) { this.cachedSelectedNodeItems = new List <NodeItem>(); foreach (var selectedNode in this.SelectedNodes) { NodeItem nodeItem = FindAssociatedNodeItem(selectedNode); if (nodeItem == null) { throw new ApplicationException("Unexpected code path!"); } this.cachedSelectedNodeItems.Add(nodeItem); } } // // Update the position of the node within the Canvas. // foreach (var nodeItem in this.cachedSelectedNodeItems) { nodeItem.X += e.HorizontalChange; nodeItem.Y += e.VerticalChange; } var eventArgs = new NodeDraggingEventArgs(NodeDraggingEvent, this, this.SelectedNodes, e.HorizontalChange, e.VerticalChange); RaiseEvent(eventArgs); }