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