2011-04-13 4 views
0

PrintVisual 메서드를 사용하여 WPF 응용 프로그램에서 일부 금융 차트를 인쇄하는 인쇄 기능을 구현했습니다. 사용자는 자신의 창 크기 및/또는 화면 해상도를 자유롭게 변경할 수 있으므로 LayoutTransform, Measure 및 Arrange 메서드를 사용하여 인쇄 된 차트가 응용 프로그램 창의 크기와 상관없이 전체 페이지에 균등하게 분산되도록합니다 . 사용자가 실제 프린터에서 인쇄하거나 PDF 인쇄 드라이버를 선택하여 인쇄 할 때 모두 작동합니다. 레이아웃 변형은 화면 뒤에서 효과를 나타내며 인쇄물에 나타나지만 사용자는 화면에서 깜박임이나 화면 표시가 변경되지 않습니다.XPS 문서 작성자에서 WPF 인쇄

사용자가 XPS Document Writer를 선택하면 문제가 발생합니다. 사용자가이를 수행하면 화면의 레이아웃도 변경됩니다. "다른 이름으로 저장"대화 상자가 열리면 제공되는 LayoutTransform에 따라 화면 레이아웃이 변경되어 차트가 작아 지거나 커지게됩니다. 사용자가 XPS 파일을 저장하거나 다른 이름으로 저장 대화 상자에서 취소를 누르면 레이아웃이 정상으로 돌아갑니다. 그러나 이상한 부분은 XPS Document Writer를 선택할 때만 발생한다는 것입니다.

그러나 사용자는 이것을보고 싶지 않습니다. XPS Document Writer의 경우이 문제를 방지하려면 어떻게해야합니까?

좋습니다. 감사합니다

답변

0

아마도 변환을 적용하기 전에 캔버스 나 비주얼을 복제 할 수 있습니다. 복제는 wpf UIElements에 기본 제공되지 않지만 XamlWriter.Save() 및 XamlReader.Load를 사용하여 XmlReader를 통해 복제 할 수 있습니다. google "wpf clone UIElement"또는 이동하는 방법을 생각하면 몇 가지 코드를 게시 할 수 있습니다.