SOS:利用WPF RichTextBox 提取RTF, 莫名丢掉了Underline样式信息

主代码是这样写的:

 1richTextBox1.SelectAll();
 2richTextBox1.Selection.ApplyPropertyValue(Inline.TextDecorationsProperty, TextDecorations.Underline);
 3System.Drawing.FontStyle style = richTextBox1.DrawingFontStyle();
 4MessageBox.Show(style.ToString());     // <-- result: Underline
 5
 6string rtf = richTextBox1.RTF();
 7richTextBox1.LoadFromRTF(rtf);
 8richTextBox1.SelectAll();
 9style = richTextBox1.DrawingFontStyle();
10MessageBox.Show(style.ToString());    // <--  result: Regular    
11

运行的结果:
第一次显示: Underline
第二次显示: Regular
而RichTextBox里的字体始终是带有下划线的。个人分析的结果为 RichTextBox 提取RTF的字符串丢掉了Underline样式, 那么改如何修正呢?

提取RTF字符串:

RTF Extension

读取RTF:

Load RTF

 解析FontStyle:

Get FontStyle

 

完整的Source:/Files/anders06/RTFConvertor.zip

posted @ 2009-06-19 16:15  Anders06  阅读(851)  评论(1编辑  收藏  举报