scrollviewer и canvas - просмотр с прокруткой до заданной позиции - PullRequest
1 голос
/ 15 сентября 2010

У меня есть некоторые проблемы с реализацией автопрокрутки в WPF (думаю, я мог бы назвать это так). У меня есть холст внутри прокрутки. На моем холсте я могу динамически добавлять различные формы. Положение этой фигуры можно изменить с помощью мыши. Каждый раз, когда я добавляю новую форму на холст или меняю положение фигуры, я запускаю функцию measureOverride. Благодаря этому представлению прокрутки «узнаю» реальный размер холста и появляются полосы прокрутки. Однако, даже если появляются полосы прокрутки, вид не «следует» форме, которую я в данный момент перемещаю. Я имею в виду, если я достигну видимой части холста, я бы хотел, чтобы холст был srcoll Я пытался использовать эту функцию

ScrollToHorizontalOffset()

Однако у меня проблема с правильным использованием этой функции. Я пытался использовать (в качестве параметра) фактическую ширину холста, но это не сработало. Я также пытался использовать в качестве параметра текущую позицию фигуры (которую я перемещаю), но она работает только в одном направлении. Я наблюдаю за движущимся элементом, если я перемещал этот элемент к правой стороне холста. Однако, если я переместу форму назад (влево), вид не будет следовать за формой.

Надеюсь, кто-нибудь это поймет :) Трудно объяснить мою проблему.

1 Ответ

0 голосов
/ 15 сентября 2010

я тоже пытался использовать как параметр текущей позиции фигуры

Это правильный способ реализации. Вам нужен конвертер, который возвращает позицию в соответствии с направлением движения объекта.

...