C# Wpf Richtextbox特定文本的位置
我正在用mark(比如visualstudio)编写一个滚动条,我希望在查找richtextbox(Ctrl+F)时能够添加一个标记。我的用户控件是一个带有contentPresenter的scrollViewer,然后在我的窗口中将我的内容放入contentPresenter 现在,我能够找到我想要的所有图案。但是现在,我想在滚动条上添加一个标记 我的标记算法基于我要标记的元素的位置。所以我想从richtextbox的顶部或者他的父母那里得到这个位置(在我的例子中是ContentPresenter) 一开始,我想得到字符串的行,但我不能因为它是一个richtextbox,一行的字体大小可以是48,下一行的字体大小可以是12 解决方案C# Wpf Richtextbox特定文本的位置,c#,wpf,richtextbox,C#,Wpf,Richtextbox,我正在用mark(比如visualstudio)编写一个滚动条,我希望在查找richtextbox(Ctrl+F)时能够添加一个标记。我的用户控件是一个带有contentPresenter的scrollViewer,然后在我的窗口中将我的内容放入contentPresenter 现在,我能够找到我想要的所有图案。但是现在,我想在滚动条上添加一个标记 我的标记算法基于我要标记的元素的位置。所以我想从richtextbox的顶部或者他的父母那里得到这个位置(在我的例子中是ContentPresent
我最后想到了一个关于弗克尔的主意。我使用RichTextBox.CaretPosition.GetCharacterRect(…)来获取Rect的Y和Height属性。我认为有两种基本方法可以做到这一点:
为了获得像素位置,可以使用一个函数CaretPosition.GetCharacterRect():。在移动RichTextBox以查找匹配的短语时,您可以将插入符号设置在该位置,保存找到的所有位置并存储这些位置,以便以后在绘制矩形时使用。您能否更具体地说明“放置标记”的含义?我在滚动条上添加了一个小矩形,以便用户知道在这个滚动偏移处有一些东西。谢谢,这对我帮助很大。