天天看點

Windows Phone 實用開發技巧(15):讓輸入框隻能輸入數字

 在做其他平台,無論是WinForm、WPF、Silverlight還是Asp.Net,大家可能都會遇到這樣的需求:輸入框隻能輸入數字。其實實作方式都大同小異,擷取輸入文字的key,判斷其是否是可以輸入的範圍。下面講一下,如何在windows phone 下讓輸入框隻能輸入數字。

我們知道,我們可以設定輸入框的InputScope,當輸入框獲得焦點時,系統彈出不同的SIP。在wnidows  phone中有如下兩種InputScope可以彈出輸入數字的SIP:

Number和TelephoneNumber:

而這兩種SIP中數字對應的Key也是不一樣的:

InputScope為 Number的0-9的PlatformKeyCode為48-57(十六進制則為0x30-0x39),Key為D0-D9;

InputScope為 TelephoneNumber的0-9的PlatformKeyCode為96- 105 (十六進制則為0x60-0x69),Key為NumPad0-NumPad9。

需要注意的一點是,在InputScope為Number的SIP中,@和2 、#和3、$和4...)和9 共用一個Key,是以不建議使用InputScope為Number的SIP做為隻能輸入數字的InputScope。

 總結:在Windows Phone 中讓輸入框隻能輸入數字:

1. 将輸入框的InputScope設為TelephoneNumber

2. 注冊輸入框的KeyDown事件,在事件中做上述的判斷

    本文轉自xshf12345 51CTO部落格,原文連結:http://blog.51cto.com/alexis/609686,如需轉載請自行聯系原作者

繼續閱讀