Получить XY координаты TextPointer в WPF Richtextbox - PullRequest
3 голосов
/ 10 марта 2011

Хотелось бы узнать, возможно ли получить XY координаты TextPointer в WPF Richtextbox.

Ответы [ 2 ]

9 голосов
/ 10 марта 2011

Вы можете использовать Mouse.GetPosition(MyRichTextBox), который вернет вам координаты X, Y мыши внутри RichTextBox

Вот простой пример, который я использовал для проверки правильности:

<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);
}

EDIT

Не понял, что вы хотите получить позицию каретки вместо позиции мыши. Используйте myRichTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward), чтобы получить координаты X, Y каретки

2 голосов
/ 04 июня 2015
Rect Example = myRichTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward)

Это даст координаты X, Y положения каретки

...