2015-12-15 69 views
0

我试图在WPF RichTextBox中显示富文本电子邮件的内容(使用c#和outlook interop)。用户从列表框控件中选择一个电子邮件,其内容显示在RichTextBox中。我有以下代码适用于用户选择一条消息(其中_rtb是对RichTextBox的引用)。在WPF RichTextBox中显示富文本电子邮件

 public Object SelectedMessage { 
     get 
     { 
      return _selectedItem; 
     } 
     set 
     { 
      _selectedItem = value as Outlook.MailItem; 
      _rtb.Document.Blocks.Clear(); 
      _rtb.Document.Blocks.Add(new Paragraph(new Run(System.Text.Encoding.ASCII.GetString(_selectedItem.RTFBody)))); 


     } 
    } 

这适用于一定程度,但在框中显示的文本未格式化 - 而它显示为纯包含文本标记:富文本框显示系如:

{\ RTF1 \ ansi \ ansicpg1252 \ fromhtml1 \ fbidis \ deff0 {\ fonttbl

如何正确显示消息的丰富文本正文?

回答

1

您可以像这样在StackOverflow question中加载RTF。

public void SetRTFText(string text) 
{ 
    MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(text)); 
    this.mainRTB.Selection.Load(stream, DataFormats.Rtf); 
} 
+0

谢谢!这就是诀窍:) – lukezor

相关问题