2009-03-02 9 views
8

RichTextBoxのRTFでテキストを取得するにはどうすればよいですか?私はこのようになっていますが、プロパティは存在しません。RichTextBoxからRTFを取得する方法

RichTextBox rtb = new RichTextBox(); 
string s = rtb.Rtf; 

答えて

14

リッチテキストボックスの内側に、ユーザが作成した実際のXAMLを取得するには、次の

TextRange tr = new TextRange(myRichTextBox.Document.ContentStart, 
           myRichTextBox.Document.ContentEnd); 
    MemoryStream ms = new MemoryStream(); 
    tr.Save(ms, DataFormats.Xaml); 
    string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray()); 

編集:私はテストするために私の目の前で、コードを持っていないが、TextRange型のインスタンスを2つのリッチテキストボックスクラス、リサイズフレームワークから1とWPFフレームワークからの1つがありDataFormats.Rtf

+1

DataFormatsにはRtfメンバーが含まれています。おそらく、この方法はうまくいくでしょう。 –

+0

そして今、RichTextBoxのRTFテキストを設定する方法は? – rpf

+1

別の質問をする! ;) –

4

ことができるDataFormatsパラメータを取るSave(ストリーミングする)方法があります

System.Windows.Controls.RichTextBox wpfBox; 
System.Windows.Forms.RichTextBox winformsBox; 

Winforms RichTextBoxにはRtfプロパティのみがあり、もう1つにはFlowDocumentを含むDocumentプロパティがあります。

+0

はい私は知っています... RTFテキストを取得するにはどうすればいいですか? – rpf

+0

WPFコントロールの内容がRTFではなくFlowDocumentであるため、FlowDocumentをRTF文字列に変換する必要があります。私はこれをどのように達成するか考えていない。 – Wouter

関連する問題