Exemplo n.º 1
0
 //		UWPのScrollViewerでスクロール位置の同期を行うメモ
 //http://studio-geek.com/archives/857
 private void MyScroll2_ScrollChanged(object sender, ScrollChangedEventArgs e)
 {
     //値が双方で異なるときだけ更新
     if (e.VerticalOffset != MyScroll1.VerticalOffset)
     {
         MyScroll1.ScrollToVerticalOffset(e.VerticalOffset);
     }
     if (e.HorizontalOffset != MyScroll1.HorizontalOffset)
     {
         MyScroll1.ScrollToHorizontalOffset(e.HorizontalOffset);
     }
 }
        private void MyImage1_MouseMove(object sender, MouseEventArgs e)
        {
            //マウスの移動距離だけスクロールさせる
            if (e.RightButton == MouseButtonState.Pressed)
            {
                MyImage1.Cursor = Cursors.ScrollAll;
                //今のマウスの座標
                var mouseP = e.GetPosition(this);
                //マウスの移動距離=直前の座標と今の座標の差
                var xd = MyPoint.X - mouseP.X;
                var yd = MyPoint.Y - mouseP.Y;
                //xd *= 2;//2倍速
                //yd *= 2;
                //移動距離+今のスクロール位置
                xd += MyScroll1.HorizontalOffset;
                yd += MyScroll1.VerticalOffset;
                //スクロール位置の指定
                MyScroll1.ScrollToHorizontalOffset(xd);
                MyScroll1.ScrollToVerticalOffset(yd);

                MyPoint = mouseP;//直前の座標を今の座標に変更
            }
        }