Скопировать снимок элемента WP UI, содержащего полосу прокрутки - PullRequest
0 голосов
/ 20 января 2012

У меня есть WPF Uniform Grid, содержащая мой пользовательский элемент управления диаграммой, который будет отображаться в виде матрицы.Например, сетка будет отображать элементы управления диаграммой в формате 5 x 10 или определенных пользователем строк x столбцов в формате.Uniform Grid помещается в ScrollViewer, который автоматически показывает полосы прокрутки, как только содержимое не помещается в окно.Мое намерение состоит в том, чтобы включить «Копирование» матрицы диаграмм, чтобы пользователь мог вставить все диаграммы в MS Word / Powerpoint.

Я использовал стандартную копию кода элемента пользовательского интерфейса WPF.Проблема, с которой я столкнулся, заключается в том, что копия работает нормально, только если все диаграммы видны в Единой сетке.Если я получу полосу прокрутки, копия будет учитывать только видимую область и заменит невидимую область (область под полосой прокрутки) черным пятном.Однако, если пользователь прокручивает панель, чтобы просмотреть все содержимое один раз, то «Копирование» будет работать нормально (т.е. показывает все содержимое в сетке).Я понимаю, что WPF отображает контент только тогда, когда он виден.

Но как именно я могу решить мою проблему, не попросив моего пользователя просмотреть весь контент один раз, прежде чем выполнить «Копирование»?

1 Ответ

0 голосов
/ 16 декабря 2015
  1. увеличить размер окна
  2. сделать "Копировать"
  3. восстановить размер окна

Пользователь заметит изменение размера окна, но, по крайней мере, оно происходит автоматически (намного лучше, чем изменение размера окна вручную)

...