将资源中的RTF文件加载到WPF应用程序中的RichTextBox

use*_*909 5 .net wpf resources rtf richtextbox

我正在尝试加载RTF文件的内容,我已将其放入资源(通过Project->Properties->Resources->Add File).

我想加载Agreement.rtf的内容RichTextBox,我尝试了以下内容:

Dim stream As Stream
stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(My.Resources.ResourceManager.GetObject("Agreement").GetType(), "IOpzioni.Agreement.rtf")
RichTextBox1.SelectAll()

RichTextBox1.Selection.Load(stream, DataFormats.Rtf)
Run Code Online (Sandbox Code Playgroud)

   stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(My.Resources.Agreement.GetType(), "IOpzioni.Agreement.rtf")
Run Code Online (Sandbox Code Playgroud)

IOpzioni 是我的默认命名空间(我已经仔细检查过).

似乎没什么用.这样做的正确方法是什么?

Far*_*eed 6

我在WPF应用程序中以一种简单的方式实现了这一点.请在此处查看我的博客:http: //devdare.blogspot.com/2014/03/wpf-loading-rtf-document-in-richtextbox.html

  1. 在您的WPF项目中,添加一个Resources.resx文件(如果它还没有)
  2. 添加您RTFDoc.rtf的Resources.resx文件
  3. 与您的Resources.resx文件一起,文件后面会有代码:Resources.Designer.cs.打开它并复制其名称空间和类名.就我而言Surf.Resources.Resource1

我用它在我的WPF RichTextBox控件中加载RTF资源.以下是代码背后的行:

using Surf.Resources;

void Surface_Loaded(object sender, RoutedEventArgs e)
{             
    var stream = new MemoryStream(Encoding.Unicode.GetBytes(Resource1.RTFDoc));
    RichTextBox1.Selection.Load(stream, DataFormats.Rtf);
}
Run Code Online (Sandbox Code Playgroud)

Surf是我的项目名称.希望这可以帮助.