2011-07-20 15 views
0

richtextBoxにテキストを描画する方法は? OnRender()をオーバーライドしようとしましたが、入力時にrichTextBoxを初期化するときにのみ呼び出されます。私はOnSelectionChangeまたはOnTextChangeを呼びたくない。 テキストを描画するメソッドが必要です。RichTextBox C#テキストメソッドを描画しますか?

イムこのRichtextBoxを使用してWindows.Controls

EDITは

私のリッチテキストボックスは、画像セパレータで区切られた単語が含まれています。私は、OnDrawメソッドまたはanyを使用して、各単語の上にアドナー・イメージを追加するための四角形を作成します。

+0

テキスト描画方法をオーバーライドしたいのですが、何をしようとしていますか? – MattS423

+0

@MattS単語が描画されず、位置がnullであるため、adornerレイヤーを追加するために各単語の矩形を計算します。 – raym0nd

答えて

1

テキストを描画するメソッドはありません。 WPF RichTextBoxにはFlowDocumentsがあり、XPSと密接に関連しています。それらはWPFと同じ方法でレンダリングされます。

編集:hereの方法を使用して、テキストの位置を取得してアドオンを追加します。

編集2:this techniqueを使用して文字の位置を取得します。

​​
+0

私はテキストを描画するメソッドをオーバーライドしたり作成したりすることはできません。 – raym0nd

+0

正しい。 WPFと同じように、FlowDocumentを変更する必要があります.Xamlを変更する必要があり、テキスト描画関数をオーバーライドすることはできません。私はOnRenderがあることを認識していますが、これはDrawingVisual型コントロールのフリーハンド描画のためだけであり、Xamlでは動作しません。 –

+0

あなたはそのための解決策を提案していますか?自分のプログラムでWPF RTBを使用する必要があります。 – raym0nd

関連する問題