一個WPF FlowDocument
只能屬於一個RichTextBox
。但是,我們希望使用單個文檔,可以在UI中的不同時間點(空間和時間)進行操作。它永遠不會發生有兩個RichTextBoxes
同時顯示單個文檔(不能,因爲WPF會抱怨)。共享FlowDocuments
使用MemoryStream
和XamlReader
/Writer
不會在這裏工作,因爲我們想保留一個單一的文件,無論它是用來反映變化,所以複製它每次都是出來。
有沒有其他可行的方法來實現這一目標?你可以使用什麼作爲潛在模型來創建FlowDocument
左右?
澄清:使用該文檔的RichTextBoxes不再可見或邏輯/視頻樹的任何地方,當一個又一個將被實例化。雖然我可能無法強制他們已經被GC吃掉了。看起來這會在從窗口中刪除RichTextBox之後立即重新使用文檔時導致問題;仍然會拋出異常,該文檔已被其他控件使用。
基本上是有一組接連顯示一個「嚮導頁」,它可能發生,我們再利用兩個連續的「頁面」文檔,但每次都實例化一個新RTBox。也許有問題或更好的方法?
我在這個問題上詳細闡述了一下。我們無限期地不需要立即在用戶界面的其他地方反映這些變化。但一個文件拒絕被多次使用,看起來,這可以通過XamlWriter/Reader爲靜態內容繞過,但不適用於動態的東西:( – Joey 2009-04-08 14:52:55