2009-12-16 44 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