天天看點

windows phone中textbox隻能輸入數字

兩種方法
           

第一種比較簡單,直接設定textbox的屬性,屬性是InputScope

第二種就比較麻煩,需要添加一個類,使該類繼承于textbox,然後設定其隻能輸入數字,需要在xaml頁面添加命名空間,然後引用就行了

設定類的代碼:

private readonly Key[] numeric = new Key[] { Key.Back, Key.NumPad0, Key.NumPad1, Key.NumPad2, Key.NumPad3, Key.NumPad4, Key.NumPad5, Key.NumPad6, Key.NumPad7, Key.NumPad8, Key.NumPad9 }; 
          public NumericTextBox()      
          {            //将文本設定為  電話号碼的文本輸入模式   
              this.Width = 300.0;
              this.Height = 80.0;
              this.InputScope = new InputScope();        
              this.InputScope.Names.Add(new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber });  
          }   
         protected override void OnKeyDown(KeyEventArgs e)   
         {  //如果是數字鍵或者傳回鍵則設定e.Handled = true; 表示事件已經處理    
             if(Array.IndexOf(numeric,e.Key) == -1)           
             {               
                 e.Handled = true;         
             }           
             base.OnKeyDown(e); // important, if not called the back button is not handled     
         }
           

繼續閱讀