RTF テキストを WPF RichTextBox コントロールに設定する 質問する

RTF テキストを WPF RichTextBox コントロールに設定する 質問する

次の RTF テキストがあります:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue0;\red255\green0\blue0;}
\viewkind4\uc1\pard\qc\cf1\fs16 test \b bold \cf2\b0\i italic\cf0\i0\fs17 
\par }

このテキストを設定する方法WPF リッチテキストボックス?


解決:

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

ベストアンサー1

本当に文字列から始めなければならないのでしょうか?

RTF をロードする 1 つの方法は次のとおりです。

rtfBox.Selection.Load(myStream, DataFormats.Rtf);

既存のテキストを置き換えたい場合は、その前に SelectAll() を呼び出す必要があります。

したがって、最悪の場合、文字列を MemoryStream に書き込んでから、そのストリームを Load() メソッドに渡す必要があります。その間に Position=0 を忘れないでください。

しかし、私は誰かがもっとエレガントなものを思いつくのを待っています。

おすすめ記事