2011-07-20 81 views
0

什麼是在richTextBox中繪製文本的方法? 我試着重寫OnRender(),但這只是在我輸入時初始化richTextBox時才被調用。我不想調用OnSelectionChange或OnTextChange。 我需要繪製文本的方法。RichTextBox C#繪製文本方法?

進出口使用此RichtextBox的Windows.Controls

EDIT

我的RichTextBox包含由圖像分離器分離的話。我想要使​​用OnDraw方法或任何創建一個矩形添加一個裝飾圖像在每個單詞的頂部。

+0

你想要做什麼,你想重寫文本繪圖方法? – MattS423

+0

@MattS計算每個單詞的矩形以添加一個裝飾圖層,我在textChange上得到了空值,因爲這些單詞尚未繪製出來,它們的位置爲空。 – raym0nd

回答

1

沒有繪製文字的方法。 WPF RichTextBox包含FlowDocuments,它與XPS緊密相關。它們以與WPF相同的方式呈現。

編輯:使用here描述的方法來獲取文本的位置並添加裝飾。

編輯2:使用this technique獲取角色位置。

​​
+0

所以我不能重寫或創建一個方法爲我繪製文本? – raym0nd

+0

正確。您必須更改FlowDocument,就像在WPF中一樣,您必須更改Xaml並且不能覆蓋某些文本繪圖功能。我意識到有一個OnRender,但這只是在DrawingVisual類型控件中進行自由繪製,而不適用於Xaml。 –

+0

你建議任何解決方案嗎?我需要在我的程序中使用WPF RTB。 – raym0nd