private void RightDown(MouseButtonEventArgs e) { bool onlyCtrl = Keyboard.Modifiers == ModifierKeys.Control; bool onlyShift = Keyboard.Modifiers == ModifierKeys.Shift; bool sourceIsThumb = ((e.OriginalSource as FrameworkElement).TemplatedParent) is Thumb; Point sheetPoint = e.GetPosition(_sheetController.State.OverlaySheet.GetParent() as FrameworkElement); ImmutablePoint sheetPosition = new ImmutablePoint(sheetPoint.X, sheetPoint.Y); Point rootPoint = e.GetPosition(this); ImmutablePoint rootPosition = new ImmutablePoint(rootPoint.X, rootPoint.Y); var args = new InputArgs() { OnlyControl = onlyCtrl, OnlyShift = onlyShift, SourceType = sourceIsThumb ? ItemType.Thumb : ItemType.None, SheetPosition = sheetPosition, RootPosition = rootPosition, Handled = (handled) => e.Handled = handled, Delta = 0, Button = InputButton.Left, Clicks = 1 }; _sheetController.RightDown(args); }