从xaml模板文件获取flowdocument

Sla*_*pen 5 wpf xaml flowdocument

我有一个像这样开始的Xaml文件:

  <FlowDocument
       x:Name="flowDocument"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:Drawing="clr-namespace:System.Drawing;assembly=System.Drawing"
Run Code Online (Sandbox Code Playgroud)

当前解决方案通过使用flowdocument引用xaml文件的物理路径来使用StremReader,然后将数据解析到模板中.

这不是一个有效的解决方案,因此我需要在没有引用物理路径的情况下获取flowdocument.

我想在我的C#代码中使用xmlns命名空间或类似命令

string result = XamlWriter.Save(flowDocument)
Run Code Online (Sandbox Code Playgroud)

并使用结果进行解析.

建议?

Boj*_*nik 5

如果我理解正确,你想从字符串中获取FlowDocument?你可以这样做XamlReader.Parse:

string result = XamlWriter.Save(flowDocument);
FlowDocument new_doc = (FlowDocument)XamlReader.Parse(result);
Run Code Online (Sandbox Code Playgroud)

编辑:如果XAML文件是项目的一部分,您可以将其标记为EmbeddedResource并使用以下内容加载它:

Stream doc_stream = Assembly.GetExecutingAssembly()
                            .GetManifestResourceStream("YourNamespace.YourFile.xaml");
FlowDocument doc = (FlowDocument)XamlReader.Load(doc_stream);
Run Code Online (Sandbox Code Playgroud)