2011-04-07 39 views
1

我想從WP7應用程序中的用戶處獲取一組字母(缺省值爲7)。我正在嘗試使用TextBox,但我並未與該想法結婚。我目前的計劃是使用Making TextBox Numbers Only for Windows Phone 7中描述的技術來限制字符在KeyUp事件中的字母(並將它們轉換爲大寫字母)。據我所知,沒有其他好方法可以做到這一點。TextBox限制字符串中允許的字符數(並確保它們全部是大寫字母)

我正在做同樣的事情來限制字符數 - 如果TextBox中的文本長度大於7,我刪除該字符。

我已經在我的實現中遇到了錯誤(我如何處理退格,特別是TextBox中的第一個字符),這讓我認爲這個實現有很多問題。

有沒有更好的方法來限制TextBox中文本的長度?

回答

6

使用TextBox上的MaxLength屬性將文本限制爲特定的長度。如果需要更改,可以將它綁定到視圖模型上的屬性。

使用鍵盤事件處理程序來更改大小寫。

+0

令人驚訝的是,我錯過了一個多小時的查找文檔。謝謝! – SirPentor 2011-04-07 03:17:46

0

我意識到這是一個相當老的帖子。 Maxlength在Windows Phone 8.1項目上並不適合我,所以我在下面創建了一個事件處理程序:

private void txtBox_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    if (txtBox.Text.Length > 7) 
    { 
     txtBox.Text = txtBox.Text.Substring(0, 7); 
     // the cursor is now at the beginning of the box 
     // set it back to the end so there is no overwriting 
     txtBox.SelectionStart = txtBox.Text.Length; 
     txtBox.SelectionLength = 0; 
    } 
} 
相關問題