【问题标题】:Get XY coordinates of TextPointer within WPF Richtextbox获取 WPF Richtextbox 中 TextPointer 的 XY 坐标
【发布时间】:2015-06-04 13:41:08
【问题描述】:

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

【问题讨论】:

    标签: wpf richtextbox coordinates


    【解决方案1】:

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

    【讨论】:

    • 不幸的是,我需要获取 TextPointer 的坐标,而不是鼠标
    • @lale - 它必须是 RichTextBox 吗? TextBox 有一个 GetRectFromCharacterIndex 可用于此.... textbox.GetRectFromCharacterIndex(textbox.CaretIndex)
    【解决方案2】:
    Rect Example = myRichTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward)
    

    这将给出插入位置的 X,Y 坐标

    【讨论】:

      猜你喜欢
      • 2011-10-18
      • 2011-03-04
      • 2013-03-09
      • 2016-08-30
      • 2022-06-11
      • 1970-01-01
      • 2020-11-28
      • 2019-08-22
      • 1970-01-01
      相关资源
      最近更新 更多