是否可以在不阻塞UI線程的情況下在Silverlight中打印?Silverlight 5:在UI線程之外打印?
我必須打印很多頁面,因此我的UI會凍結一段時間。我想打印在後臺線程而不是(如果可能,更新進度欄),但不知道如何。
我打過電話我PrintDocument
的Print()
方法BackgroundWorker
的DoWork()
方法裏面,但是這給了我一個UnauthorizedAccessException "Invalid cross-thread access"
。
看來,即使啓動PrintDocument是不可能在UI線程之外: PrintDocument pd = new PrintDocument();
在BackgroundWorker.DoWork()
引發相同的異常。
我發現很多帖子,人們說打印必須在UI線程上發生,但沒有這方面的文檔。我是新來的多線程,所以任何指針正確的方向將不勝感激。
好的,我會用它從UI線程外部更新UI。但是如何讓打印在第一個地方在另一個線程中運行?打印能否在UI線程之外運行? – Phasma
對不起,我猜你不能。 '調度員'也不會幫忙。有類似的問題http://stackoverflow.com/questions/4563831/how-can-i-display-a-busyindicator-during-printing-in-silverlight-4。 – Zabavsky