示例#1
0
        void Target_MouseMove(object sender, MouseEventArgs e)
        {
            if (IsDown)
            {
                DeltaDelta    = e.GetPosition(null) - CurrentPoint;
                CurrentPoint += DeltaDelta;

                if (!IsActive)
                {
                    if (Math.Abs(Delta.X) >= SystemParameters.MinimumHorizontalDragDistance ||
                        Math.Abs(Delta.Y) >= SystemParameters.MinimumVerticalDragDistance)
                    {
                        IsActive        = true;
                        CurrentListener = this;

                        if (Started != null)
                        {
                            Started(this);
                        }
                    }
                }

                if (IsActive && Changed != null)
                {
                    Changed(this);
                }
            }
        }
示例#2
0
        void Complete()
        {
            IsActive        = false;
            CurrentListener = null;

            if (Completed != null)
            {
                Completed(this);
            }
        }
示例#3
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            upButton   = (DragRepeatButton)Template.FindName("PART_UpButton", this);
            downButton = (DragRepeatButton)Template.FindName("PART_DownButton", this);
            textBox    = (TextBox)Template.FindName("PART_TextBox", this);

            upButton.Click   += new RoutedEventHandler(upButton_Click);
            downButton.Click += new RoutedEventHandler(downButton_Click);

            var upDrag   = new DragListener(upButton);
            var downDrag = new DragListener(downButton);

            upDrag.Started   += drag_Started;
            upDrag.Changed   += drag_Changed;
            upDrag.Completed += drag_Completed;

            downDrag.Started   += drag_Started;
            downDrag.Changed   += drag_Changed;
            downDrag.Completed += drag_Completed;

            Print();
        }
示例#4
0
 void drag_Completed(DragListener drag)
 {
     IsDragging = false;
     OnDragCompleted();
 }
示例#5
0
 void drag_Changed(DragListener drag)
 {
     IsDragging = true;
     MoveValue(-drag.DeltaDelta.Y * SmallChange);
 }
示例#6
0
 void drag_Started(DragListener drag)
 {
     OnDragStarted();
 }