2009-12-16 40 views
1

返回FlowDocument的XAML/XML值的最佳方法是什麼?FlowDocument內容爲文本

我發現沒有一個.value的,。文本,.Caption,.ToXml(),等...

UDPATE:
我希望能夠得到訪問它最初是序列化到磁盤或數據庫。將其視爲自己的文檔格式。稍後將其翻譯成其他格式將會很好。
也想知道:
FlowDocument中的超鏈接(在新瀏覽器窗口中打開)的任何等效物?任何解決方法?

回答

3

作爲對您的第一個問題的迴應,您可以使用XamlWriter將XAML作爲字符串。例如:

XamlWriter.Save(flowDocument); 

大衛Veeneman有這他爲他的Bindable WPF RichTextBox創建FlowDocumentToXamlConverter實現一個很好的例子。

他的轉換器也將從包含XAML的字符串轉換回FlowDocument,該FlowDocument應該處理您的持久性需求。

關於第二個問題,您可以將WPF的Hyperlink元素嵌入到FlowDocument中。這些StackOverflow的問題有更多的細節:

  1. Handle links in a FlowDocument
  2. How can I get a FlowDocument Hyperlink to launch a browser

提示:你應該開拆你的問題,讓在計算器上更快,更好的反應。它防止「哦,再多一件事......」疲勞!

0

如何使用XamlWriter

+0

如果您使用XamlWriter,您將得到一個沒有任何數據綁定的XAML。如果您需要使用它修改flowdocument(例如模板),則可以使用FindName或FindResources方法獲取任何元素,或者枚舉Blocks。 請指定清楚您需要獲取流文檔的XAML源,序列化/保存,修改或打印的目的? – 2009-12-17 14:38:33

+0

Shurup - 請參閱更新 – BuddyJoe 2009-12-17 17:30:05