如何在文本框中获取所选行?

时间:2012-11-23 02:01:24

标签: c# windows-phone-7 textbox windows-phone textwrapping

我的Windows Phone 7应用程序中启用了文本换行的文本框,如何获取用户选择的字符的行数?例如,如果文本框看起来像这样:

test
text
bo|x
is
here

,带“|”表示所选字符,行数将为3.我需要在任何时间点执行此操作,特别是在更改文本时。我可以在没有文本换行的文本框中计算换行数,但这显然是一种不同的情况。

2 个答案:

答案 0 :(得分:4)

我自己想出来了:

        Rect rec = textbox.GetRectFromCharacterIndex(textbox.SelectionStart);
        double rectop = rec.Top;
        double lineheight = text.LineHeight;
        int result = (int)(rectop / lineheight + 1);

result =所选行。

答案 1 :(得分:1)

只是一种愚蠢的方式:

你可以处理这些事件:ManipulationStarted ManipulationCompleted

从回调参数中,您可以找到点(x,y)用户点,也许是坐标 选定的地方。

你知道prop-lineHeight

中每条线的高度

并进行分组