0
的應用與嵌入在ScrollViewer中的A4頁面大小的畫布:上畫布的看不見的部分,不能打印
<ScrollViewer >
<Canvas Name="PageCanvas" Width="21cm" Height="29.7cm">
這工作得很好。現在,當用戶想打印,應用程序做到這一點:
PrintDialog dlg = new System.Windows.Controls.PrintDialog();
if (dlg.ShowDialog() == true)
dlg.PrintVisual(this.PageCanvas, "Document");
問題:打印輸出始終只與畫布的可見部分開始。
所以,當你向下滾動,在畫布上的頂部看不見的部分是在打印輸出上不可見。
然而,這很奇怪,在畫布的底部看不見的部分是始終在打印輸出上可見!
那麼這裏有什麼問題?
根據[本文](https://social.msdn.microsoft.com/Forums/vstudio/en-US/be2edad6-f075-4295-ab22-3657eba78043/how-to-print-the-entire-這是在MSDN上的一個wpf-window-that-scroll-forum = wpf),你可以設置代碼在打印前將滾動條移動到頂部。 – Tofystedeth
@Tofystedeth啊是的。那麼這當然是一個簡單的解決方案,沒有想到這一點;)在我眼中有點「笨拙」,但很好,重要的是它的工作原理。發佈它作爲答案,然後我可以upvote它! –