2012-05-01 106 views
1

我正在使用richtextbox显示用MS Word创建的RTF文档 我需要显示文档的内容,如MS Word中的“文档模式”,它使用样式标签“\”创建模式 。 s [样式数量]“ 我有一个问题,当我在richtextbox中加载我的文件时发生此问题。试图获得RTF文本只有 返回已知标记,省略所有未知的标记。 我用下面的代码加载RichTextBox删除未知标签

MemoryStream stream = new MemoryStream(Encoding.Default.GetBytes(file)); 
rtbViewer.Selection.Load(stream,DataFormats.Rtf); 
stream.Close(); 

我已经成功通过正则表达式的搜索通过输入字符串的文件做一个内容的文件。我得到的源文件和 得到它的文本在一个字符串(它将与所有的rtf标签),然后我搜索风格标签,并获得有关 级别和文本的信息。只要用户不改变文本然后尝试保存,任何事都可以。 问题是,当我在richtextbox中加载文件时,我错过了关于内容的所有信息。当我尝试保存 已更改的文档时,我从richtextbox获取Rtf文本,但它不包含样式标记。

MemoryStream ms = new MemoryStream(); 
rtbViewer.Selection.Save(ms, DataFormats.Rtf); 

如何从我的源文件中获取所有标签?

回答

-1

这对我有效。

<RichTextBox Height="100" HorizontalAlignment="Left" Margin="306,30,0,0" Name="rtfMain"  VerticalAlignment="Top" Width="200" /> 

rtfMain.Selection.Load(new FileStream(@"C:\temp\document.rtf", FileMode.Open), DataFormats.Rtf); 
+0

感谢您停止投票而不是评论为什么:/ –