6

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

test
text
bo|x
is
here

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

4

2 回答 2

4

我自己想出了这个:

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

结果 = 选定的行。

于 2012-11-23T03:00:33.843 回答
1

只有一个愚蠢的方式:

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

从回调 args 中可以找到 point(x,y) 用户点,可能是所选地点的坐标。

并且你从道具知道每一行的高度——lineHeight

并做一个除法

于 2012-11-23T02:42:05.257 回答