/// <summary> /// Event raised on mouse up in the NetworkView. /// </summary> private void networkControl_MouseUp(object sender, MouseButtonEventArgs e) { if (_mouseHandlingMode != MouseHandlingMode.None) { if (_mouseHandlingMode == MouseHandlingMode.Panning) { // // Panning was initiated but dragging was abandoned before the mouse // cursor was dragged further than the threshold distance. // This means that this basically just a regular left mouse click. // Because it was a mouse click in empty space we need to clear the current selection. // } else if (_mouseHandlingMode == MouseHandlingMode.Zooming) { if (_mouseButtonDown == MouseButton.Left) { // Shift + left-click zooms in on the content. ZoomIn(_origContentMouseDownPoint); } else if (_mouseButtonDown == MouseButton.Right) { // Shift + left-click zooms out from the content. ZoomOut(_origContentMouseDownPoint); } } else if (_mouseHandlingMode == MouseHandlingMode.DragZooming) { // When drag-zooming has finished we zoom in on the rectangle that was highlighted by the user. ApplyDragZoomRect(); } // // Reenable clearing of selection when empty space is clicked. // This is disabled when drag panning is in progress. // NetworkControl.IsClearSelectionOnEmptySpaceClickEnabled = true; // // Reset the override cursor. // This is set to a special cursor while drag panning is in progress. // Mouse.OverrideCursor = null; NetworkControl.ReleaseMouseCapture(); _mouseHandlingMode = MouseHandlingMode.None; e.Handled = true; } }