У меня Canvas имеет ширину = 200000, высоту = 200000. Мой размер экрана, высота и ширина 700 и 1400 соответственно. Если я отображаю холст, он не будет отображать весь холст. Поэтому я использовал событие pointerWheelChanged для холста и я должен был вычислить, сколько прокрутки было прокручено при прокрутке колесика мыши. т. е. новые (x, y) координаты холста. Тем не менее, это работало нормально. Но я не знаю, как показать холст с моими новыми координатами.
Canvas c=new Canvas();
Image img1=new Image();
Image img2=new Image();
c.Children.Add(img1);
c.Children.Add(img2);
Canvas.SetLeft(img1,100);
Canvas.SetTop(img1,200);
Canvas.SetLeft(img2,2000);
Canvas.SetTop(img2,1500);
В моем холсте есть два изображения, одно в (100,200), а другое в (2000,1500). Если высота и ширина экрана 700 и 1400 соответственно. Когда я запускаю его, он показывает только первое изображение на экране, потому что второе изображение было в каком-то другом месте. т.е. вне экрана (оно было скрыто). Как я могу показать второе изображение на основе данных, вычисленных из события mousewheelchanged. Я рассчитал его, но я не 'Не знаю, как показать холст из вычисленного значения ??
В PointerWheelChangedEvent я добавил его,
Canvas layout = sender as Canvas;
int wheelDelta = e.GetCurrentPoint(layout).Properties.MouseWheelDelta;
Boolean isHorizontalSwipe =
e.GetCurrentPoint(layout).Properties.IsHorizontalMouseWheel;
Point scrollPoint = e.GetCurrentPoint(layout).Position;
WheelDelta добавляется или вычитается f rom текущий холст Точка на основе горизонтального или вертикального смахивания.
что я пытаюсь сделать?