質問

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

RichTextBox rtb = new RichTextBox();
string s = rtb.Rtf;
役に立ちましたか?

解決

RichTextBox内でユーザーが作成した実際の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 タイプのインスタンスには Save (ストリームへ)メソッドがあり、 DataFormats パラメータ。 DataFormats.Rtf

になります

他のヒント

2つのRichTextBoxクラスがあります。1つはwinformsフレームワークから、もう1つはWPFフレームワークからです:

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top