我需要打印一個Silverlight UserControl的屏幕截圖,我嘗試了PrintDocument的常用方式,但不幸的是它需要很長時間,因爲它必須在UI線程上進行整個應用程序被鎖定的時間太長。這需要很長時間,因爲控件包含需要測量並打印在多頁上的網格。Silverlight - 後臺渲染控件線程
所以我正在尋找一種方法來做到這一點,而不鎖定UI線程。有沒有什麼辦法可以在後臺線程上再次渲染這些控件(與最初渲染的可見控件分開)?該計劃將然後將這些發送給PrintDocument,或者如果無法使用WritableBitmap截取它們的屏幕截圖。
我已經快速走了,但當然我總是會遇到線程關聯問題。鑑於我不希望這些控件對用戶可見,儘管我希望有辦法解決這個問題?
乾杯
您的意思是使用** WriteableBitmap **類來渲染元素嗎? http://msdn.microsoft.com/en-us/library/aa347331(v=VS.95).aspx – Aimeast
我不太確定,但在Silverlight中渲染控件似乎是不可能的。要做到這一點,你需要一個新的分派器。 [MSDN說](http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher(v = vs.95).aspx)分派器只能與UI線程一起使用。它也不能被實例化。 –