RichTextBox删除未知标签

时间:2012-05-01 21:04:18

标签: wpf .net-3.5 richtextbox rtf

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

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 个答案:

答案 0 :(得分:-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);