在WPF Richtextbox中获取TextPointer的XY坐标

Ial*_*ale 4 wpf richtextbox coordinates

我想知道是否可以在WPF Richtextbox中获取TextPointer的XY坐标.

Rac*_*hel 10

您可以使用Mouse.GetPosition(MyRichTextBox)哪个将返回RichTextBox中鼠标的X,Y坐标

这是一个简单的例子,我用来验证这是正确的:

<StackPanel>
    <RichTextBox x:Name="Test" Height="100" Width="100" MouseMove="Test_MouseMove"  />
    <Label x:Name="Test2" Content="{Binding }" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

代码背后:

private void Test_MouseMove(object sender, MouseEventArgs e)
{
    this.Test2.DataContext = Mouse.GetPosition(this.Test);
}
Run Code Online (Sandbox Code Playgroud)

编辑

没意识到你想要得到插入位置而不是鼠标位置.使用myRichTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward)以获得X,Y插入符的坐标