Windows Phone 7 扩展TextBox控件为数字输入文本框

简介:

有一些信息的录入,比如电话号码,邮编等等的这些信息都只是需要输入数字,而Windows Phone 7里面的控件并没有只让输入数字的一个控件,那么要实现这样的一个控件就只能够手工地去扩展TextBox控件了。

扩展一个控件的步骤:

1、定义一个类,这个类需要继承你要扩展的控件的类

public class NumericTextBox : TextBox

2、在页面上添加扩展的控件的类的空间引用

xmlns:my="clr-namespace:WPNumericTextBox.Controls"

3、调用控件

<my:NumericTextBox x:Name="NumTbx"/>

下面是数字输入文本框控件的例子:

 

 

控件类

NumericTextBox.cs

 

 
  1. using System;  
  2. using System.Windows.Controls;  
  3. using System.Windows.Input;  
  4.  
  5. namespace WPNumericTextBox.Controls  
  6. {  
  7.     public class NumericTextBox : TextBox  
  8.     {  
  9.         //返回键和数字键  
  10.         private readonly Key[] numeric = new Key[] {Key.Back, Key.NumPad0, Key.NumPad1, Key.NumPad2, Key.NumPad3, Key.NumPad4,  
  11.                                     Key.NumPad5, Key.NumPad6, Key.NumPad7, Key.NumPad8, Key.NumPad9 };  
  12.           
  13.         public NumericTextBox()  
  14.         {  
  15.             //将文本设置为  电话号码的文本输入模式  
  16.             this.InputScope = new InputScope();  
  17.             this.InputScope.Names.Add(new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber });  
  18.         }  
  19.  
  20.         protected override void OnKeyDown(KeyEventArgs e)  
  21.         {  //如果是数字键或者返回键则设置e.Handled = true; 表示事件已经处理  
  22.             if(Array.IndexOf(numeric,e.Key) == -1)  
  23.             {  
  24.                 e.Handled = true;  
  25.             }  
  26.             base.OnKeyDown(e); // important, if not called the back button is not handled  
  27.         }  
  28.     }  
  29.  

 

本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1078620


相关文章
|
1月前
|
Windows
Windows 命令提示符(CMD)操作(七):扩展命令和功能
Windows 命令提示符(CMD)操作(七):扩展命令和功能
49 0
|
3月前
|
PyTorch 算法框架/工具 C++
windows上编译安装pytorch的c++扩展
windows上编译安装pytorch的c++扩展
|
4月前
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
65 0
|
5月前
|
Windows
Windows系统如何扩展存盘
Windows系统如何扩展存盘
23 0
|
11月前
|
C++ Windows
C++ Windows窗口程序:子窗口控件之按钮类button
C++ Windows窗口程序:子窗口控件之按钮类button
550 0
|
11月前
|
TensorFlow 算法框架/工具 异构计算
TensorFlow 2.10上线:Windows上扩展GPU支持,TF-DF 1.0发布
TensorFlow 2.10上线:Windows上扩展GPU支持,TF-DF 1.0发布
144 0
|
API C# Windows
C#实现操作Windows窗口句柄:遍历、查找窗体和控件【窗口句柄最全总结之一】
C#对Windows窗口或窗口句柄的操作,都是通过 P/Invoke Win32 API 实现的,DllImport引入Windows API操作窗口(句柄),可以实现枚举已打开的窗口、向窗口...
2043 0
C#实现操作Windows窗口句柄:遍历、查找窗体和控件【窗口句柄最全总结之一】
|
Windows
Windows程序设计——Windows单选按钮、复选框、分组框控件
Windows程序设计——Windows单选按钮、复选框、分组框控件
518 0
Windows程序设计——Windows单选按钮、复选框、分组框控件
|
Windows
Windows程序设计——(源代码)Windows单选按钮、复选框、分组框控件
Windows程序设计——(源代码)Windows单选按钮、复选框、分组框控件
166 0