Есть ли способ автоматически сделать прокрутку холста при переполнении в WPF? - PullRequest
2 голосов
/ 22 марта 2009

Проверял сеть и этот сайт, но не смог найти никаких результатов спуска.

Есть ли способ заставить холст в WPF показывать полосы прокрутки при переполнении? Попытка просмотра прокрутки, но не могу заставить его работать: (

Заранее спасибо ..

Ответы [ 2 ]

3 голосов
/ 22 марта 2009

Проблема, с которой вы сталкиваетесь, заключается в том, что Canvas, в отличие от многих панелей и контейнеров WPF, не соответствует размеру содержимого. Это означает, что если вы добавите элемент, который выходит за границы холста, он не будет обновлять его размер. Следовательно, встраивание Canvas в ScrollViewer не поможет, если вы не обновите размер Canvas вручную.

Звучит так, как будто вам нужен холст, поддерживающий размер содержимого. Эта запись в блоге имеет именно этот контроль.

http://themechanicalbride.blogspot.com/2008/11/auto-sizing-canvas-for-silverlight-and.html

0 голосов
/ 17 июня 2009

Я выбрал другой подход и отказался от Canvas for Grid. Canvas более производительный, но, по крайней мере, для моих целей я не заметил разницы. Сетка может имитировать поведение canvas, выполняя следующие действия.

Создание сетки из одной строки и одного столбца. Установите горизонтальное выравнивание влево Установите VerticalAlignment на Верх Используйте маржу "x, y, 0,0", чтобы установить позицию.

Bam..работает как холст и отлично работает в Scrollviewer.

...