Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将带有UIElement的FlowDocument导出到rtf_C#_Wpf_Flowdocument_Uielement - Fatal编程技术网

C# 将带有UIElement的FlowDocument导出到rtf

C# 将带有UIElement的FlowDocument导出到rtf,c#,wpf,flowdocument,uielement,C#,Wpf,Flowdocument,Uielement,我正在尝试将包含网格的流程文档导出到rtf。我使用了以下代码 using (FileStream fs = new FileStream(@"C:\demo.rtf", FileMode.OpenOrCreate, FileAccess.Write)) { TextRange textRange = new TextRange(doc.ContentStart, doc.ContentEnd); textRange.Save(fs, DataFormats.Rtf); } 然而

我正在尝试将包含网格的
流程文档
导出到rtf。我使用了以下代码

using (FileStream fs = new FileStream(@"C:\demo.rtf", FileMode.OpenOrCreate, FileAccess.Write))
{
    TextRange textRange = new TextRange(doc.ContentStart, doc.ContentEnd);
    textRange.Save(fs, DataFormats.Rtf);
}

然而,我得到了一份空白文件。如何解决这个问题?

我最近也遇到了类似的问题,而罪魁祸首原来是

FileMode.OpenOrCreate
应该是的

FileMode.Create 
相反。 当您使用OpenOrCreate时,文件已经存在,并且包含的内容超过了您要写入的内容,那么您将在新内容结束之后结束旧文件。Word或写字板或任何您试图打开它的东西可能无法正确解释它,但会尝试向您展示它的功能,在您的情况下,它可能是一个空白页

第二个问题可能是问题的一部分,即您用来打开它的查看器和您用来编写它的FlowDocument可能不在同一波长上。 您可能会注意到,例如,写字板显示的同一rtf文件与Word不同。 当您保存它们时,它们也会生成非常不同的文件。 FlowDocument也是如此——它可能保存了一些无法正确显示(或根本无法显示)的内容,例如写字板或Word(尽管这种可能性较小)