2011-07-20 45 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