我怎样才能获得插入符号在xaml中的位置?

时间:2015-12-16 21:09:53

标签: xaml windows-phone-8.1 scrollviewer caret

我有一些文本框,我想实现这个功能:当点击每个文本框时,该特定文本框将移动到顶部,当用户输入某些数据时,它可以自动滚动并保持光标始终位于顶部的屏幕。我知道我可以使用ScrollViewer.ChangeView(null,offset,null);来设置视图,但是,我怎样才能获得光标的位置(y或垂直偏移)。这是WP 8.1应用程序。

2 个答案:

答案 0 :(得分:1)

根据WPF TextBoxhere的文档,有一个名为CaretIndex的属性,它“获取或设置插入符的插入位置索引。”

您也可以使用SelectionStartSelectionLength属性的值来查找插入符号的位置,但如果SelectionLength大于零,则可能无效。试试CaretIndex财产。

答案 1 :(得分:0)

我没有完全理解你的要求。目前,没有属性/方法来获取文本中当前的插入符号位置。但是如果你想在文本框的开头移动你的插入符号而不是使用下面的代码。

  txtbox.SelectionStart = 0;
  txtbox.SelectionLength = 0;

修改

通过使用txtbox SelectionStart和文本框选择长度,您可以获得插入位置。

  int caretIndex = txtbox.SelectionStart + txtbox.SelectionLength;