所以我一直在構建一個WPF應用程序,它可以打印一些表單。這些表格只預印有空格,您應該在這些空格中填入某些信息。 WPF應用程序需要精確地打印文本,以便WPF打印的文本與預先打印格式的文本和空白完全對齊。通過使用DocumentViewer和FixedDocument,我能夠在很大程度上完成任務。如何隱藏DocumentViewer頁面元素打印
由於某種原因,VS WPF設計人員不喜歡將PageContent放入到DocumentViewer的FixedDocument中,即使您可以將PageContent放在任何其他容器(如滾動查看器)中,它也會得到完美呈現。但即使VS XAML解析器不能正常工作,我也可以編譯並運行我的應用程序,而不會出現任何問題。
另一方面的問題來自我無法找到一種方法來隱藏打印的FixedDocument中的某些元素。爲了讓用戶更加精確地將信息輸入到應用程序中,並且要知道打印表單中的位置,我將該信息放置在FixedDocument的背景中。但是我只希望當用戶在DocumentViewer中查看文檔時顯示它,我不想在按下打印按鈕時打印該圖像。
現在在Windows窗體中,我可以處理OnPrint事件並使用IsPrintPreview屬性,我可以決定打印什麼和不打印什麼。另一方面,DocumentViewer看起來不允許我決定要打印什麼和不打印什麼。
Soooo,長話短說,有沒有辦法在DocumentViewer中打印FixedDocument中的某些控件?
或者,您可以將不透明屬性數據綁定到您的ViewModel中的一個屬性,以顯示您是否正在打印。這樣你可以避免隱藏所有你想隱藏的東西所需的意大利麪代碼。 – 2015-04-15 07:30:12