我需要從一大組數據中動態生成FlowDocument。由於該過程需要幾分鐘,所以我想在後臺線程上執行操作,而不是讓UI掛起。在BackgroundWorker線程上創建FlowDocument
但是,我無法在非UI線程上生成FlowDocument,否則會嘗試插入矩形和圖像會導致運行時錯誤,從而抱怨它不是STA線程。
有一對夫婦在計算器上線的,這似乎涉及我有同樣的問題...
Accessing a WPF FlowDocument in a BackGround Process
「WPF「在後臺進程訪問一個WPF的FlowDocument」:是它不可能在後臺線程中加載UI?「 WPF : Is it impossible to UI load in background thread?
在第一個環節有人提出以下建議:
「我會做什麼:使用的XamlWriter和序列化的FlowDocument成一個XDocument序列化任務涉及的調度,但一旦它的。完成後,您可以根據需要運行儘可能多的古怪並行數據分析,UI中的任何內容都不會影響它(同樣,一旦它是XDocument,您可以使用XPath查詢它,這是一個相當不錯的錘子,只要您遇到問題)「
有人能詳細說明authour的意思嗎?
許多TIA
然後使用最終的FlowDocument創建XpsDocument,然後使用XAML中的DocumentViewer控件將其顯示爲FixedDocumentSequence。 – JamesPD 2012-04-25 10:02:09
您是否在開始在後臺線程中生成內容之前,在ui線程上實例化了flowdocument?或類似的東西? – TheZenker 2012-04-25 14:24:45