Проблема с прокруткой и холстом - PullRequest
1 голос
/ 27 сентября 2010

У меня есть пользовательский canvas элемент управления, который находится внутри scrollviewer - я реализовал перетаскивание, перемещение и перемещение элементов на canvas и переопределил MeasureOverride, чтобы при перемещении элемента на холстеего размер отражает изменения, поэтому, если я переместу элемент за пределы видимой части холста, он изменит размер, чтобы разместить перемещенный элемент, и полосы прокрутки будут отображаться соответствующим образом.

Однако, если я затем выведу элемент на экран, используяполосы прокрутки затем начинают перемещать элемент назад снова, полосы прокрутки становятся немного беспорядочными.

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

1 Ответ

1 голос
/ 28 сентября 2010

Да, вы правы, требуется более подробное объяснение проблемы.Хотя я также был в ситуации, когда я столкнулся с множеством проблем с Canvas и scroll-viewer, посмотрите на этот вопрос, чтобы узнать о проблемах, с которыми я столкнулся, и о том, как я их решил -

Полосы прокрутки не видныпосле изменения положения элементов управления внутри Canvas

мне пришлось явно использовать base.InvalidateMeasure() после каждой операции, чтобы обновить холст и сделать полосы прокрутки видимыми.

...