void ZoomX_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { switch (ModifierMode) { case ZoomViewModifierMode.None: return; case ZoomViewModifierMode.Pan: break; case ZoomViewModifierMode.ZoomIn: break; case ZoomViewModifierMode.ZoomOut: break; case ZoomViewModifierMode.ZoomBox: //ZoomTo(ZoomBox); break; default: throw new ArgumentOutOfRangeException(); } ModifierMode = ZoomViewModifierMode.None; ReleaseMouseCapture(); }
void ZoomX_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { switch (Keyboard.Modifiers) { case ModifierKeys.Shift: // case ModifierKeys.None: ModifierMode = ZoomViewModifierMode.Pan; break; case ModifierKeys.Alt: ModifierMode = ZoomViewModifierMode.ZoomBox; break; case ModifierKeys.Control: break; case ModifierKeys.Windows: break; default: return; } if (ModifierMode == ZoomViewModifierMode.None) { return; } _mouseDownPos = e.GetPosition(this); _startTranslate = new Vector(TranslateX, TranslateY); Mouse.Capture(this); }