在WPF Richtextbox中获取TextPointer的XY坐标

时间:2011-03-10 15:08:30

标签: wpf richtextbox coordinates

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

2 个答案:

答案 0 :(得分:9)

您可以使用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>

代码背后:

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

修改

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

答案 1 :(得分:2)

Rect Example = myRichTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward)

这将给出看护位置的X,Y坐标