WPF-печать в XPS Document Writer - PullRequest
       29

WPF-печать в XPS Document Writer

0 голосов
/ 14 апреля 2011

Я реализовал функцию печати для печати некоторых финансовых диаграмм в своем приложении WPF с использованием метода PrintVisual.Поскольку пользователь может изменять размер своего окна и / или разрешение экрана, я использовал методы LayoutTransform, Measure и Arrange, чтобы обеспечить равномерное распределение печатных диаграмм по всей странице независимо от размера окна приложения.,Все работает очень хорошо, когда пользователь печатает на реальном принтере или выбирает PDF Print Driver для печати.Преобразование макета вступает в силу за сценой, и это отображается на распечатке, но пользователь не испытывает мерцания или изменения отображения на своем экране.

Проблема возникает, когда пользователь выбирает XPS Document Writer.Когда пользователь делает это, макет на экране также меняется.Когда появляется диалоговое окно «Сохранить как», компоновка экрана изменяется на основе предоставленного LayoutTransform, что делает диаграммы уменьшаться или увеличиваться.В тот момент, когда пользователь сохраняет файл XPS ИЛИ нажимает «Отмена» в диалоговом окне «Сохранить как», макет возвращается в нормальное состояние.Но странная часть в том, что это происходит только тогда, когда мы выбираем XPS Document Writer.

Но пользователь не хочет видеть это .. Что я могу сделать, чтобы предотвратить это в случае XPS Document Writer?

Пожалуйста, предложите.Спасибо

1 Ответ

0 голосов
/ 15 апреля 2011

возможно, вы можете сделать клон вашего холста или визуала до применения вашего преобразования. клон не встроен в wpf UIElements, но вы можете использовать XamlWriter.Save () и XamlReader.Load для клонирования через XmlReader. Google "wpf clone UIElement" или я могу опубликовать код, если вы чувствуете, что это путь.

...