示例#1
0
        private void Move(MouseEventArgs 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.Move(args);
        }