2012-11-23 85 views
6

我在我的Windows Phone 7應用程序中啓用了文字環繞功能的文本框,如何獲得用戶選擇的字符的行數?例如,如果文本框看起來像這樣:如何獲取文本框中的選定行?

test 
text 
bo|x 
is 
here 

,帶有「|」代表選定的字符,行數將是3.我需要在任何時間點執行此操作,特別是在文本更改時。我可以在沒有文字換行的文本框中計算換行符的數量,但這顯然是不同的情況。

+3

爲什麼會在這裏降低一個完全合理的問題?它出什麼問題了?你能否給我一些建設性的反饋意見,而不僅僅是對我的問題進行評分? – msbg

回答

4

我想通了這一點自己:

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

結果=所選行。

+0

優秀!非常感謝 – Quincy

1

只有一個笨方法:

您可以處理這些事件:在ManipulationStarted在ManipulationCompleted

從回調ARGS你可以找到點(x,y)的用戶來看,也許這是選擇的座標 地點。

,你知道everyline從道具的高度 - lineHeight是

,並做了分工

+0

這可以工作,但只有當用戶用他們的手指改變選擇時。我應該更具體。 – msbg

相關問題