예제 #1
0
        private void Each_Tick(object o, EventArgs sender)
        {
            if (ScrollRight)
            {
                if (myTargetScrollViewer.HorizontalOffset == myTargetScrollViewer.ScrollableWidth)
                {
                    ScrollRight = false;
                }
                else
                {
                    myTargetScrollViewer.ScrollToHorizontalOffset(myTargetScrollViewer.HorizontalOffset + ScrollPixelsPerTick);

                    if (DraggedObject != null && myTestoffset != myTargetScrollViewer.HorizontalOffset)
                    {
                        DraggedObject.SetValue(Canvas.LeftProperty, (double)(DraggedObject.GetValue(Canvas.LeftProperty)) + (ScrollPixelsPerTick));
                    }
                    myTestoffset = myTargetScrollViewer.HorizontalOffset;
                }
            }
            if (ScrollLeft)
            {
                if (myTargetScrollViewer.HorizontalOffset == 0)
                {
                    ScrollLeft = false;
                }
                else
                {
                    myTargetScrollViewer.ScrollToHorizontalOffset(myTargetScrollViewer.HorizontalOffset - ScrollPixelsPerTick);
                    if (DraggedObject != null && myTestoffset != myTargetScrollViewer.HorizontalOffset)
                    {
                        DraggedObject.SetValue(Canvas.LeftProperty, (double)(DraggedObject.GetValue(Canvas.LeftProperty)) - (ScrollPixelsPerTick));
                    }
                    myTestoffset = myTargetScrollViewer.HorizontalOffset;
                }
            }
            if (ScrollDown)
            {
                myTargetScrollViewer.ScrollToVerticalOffset(myTargetScrollViewer.VerticalOffset + ScrollPixelsPerTick);
                if (DraggedObject != null && myTestvoffset != myTargetScrollViewer.VerticalOffset)
                {
                    DraggedObject.SetValue(Canvas.TopProperty, (double)(DraggedObject.GetValue(Canvas.TopProperty)) + (ScrollPixelsPerTick));
                }
                myTestvoffset = myTargetScrollViewer.VerticalOffset;
            }
            if (ScrollUp)
            {
                if (myTargetScrollViewer.VerticalOffset == 0)
                {
                    ScrollUp = false;
                }
                else
                {
                    myTargetScrollViewer.ScrollToVerticalOffset(myTargetScrollViewer.VerticalOffset - ScrollPixelsPerTick);
                    if (DraggedObject != null && myTestvoffset != myTargetScrollViewer.VerticalOffset)
                    {
                        DraggedObject.SetValue(Canvas.TopProperty, (double)(DraggedObject.GetValue(Canvas.TopProperty)) - (ScrollPixelsPerTick));
                    }
                    myTestvoffset = myTargetScrollViewer.VerticalOffset;
                }
            }
        }