Windows Phone 7 扩展TextBox控件为数字输入文本框-阿里云开发者社区

开发者社区> 科技小能手> 正文

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案
基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案           两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器进行设置之类的,结果没有一个有效果,暑假学习了用Dos来开发Java程序,输入...
1219 0
《C++语言基础》程序阅读——标准输入输出对象及文本文件
返回:贺老师课程教学链接 1、阅读并运行下面的示例程序,掌握标准输入输出流的控制 例1#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { float a,b,c,disc; cout&lt;&lt;"please input a,b,c:"; cin&g
985 0
关于nmonanalyser报错“输入超出文件尾”的解决方法
关于nmonanalyser报错“输入超出文件尾”的解决方法   运行环境:nmonanalyserV4.7   原因分析:   这个是工具的VBA宏报错,原因是*.nmon文件中存在中文。
772 0
winform中用户输入查询与拼音首字母的结合,提高用户的操作体验 (转)
在Winform界面中,同样也可以做到智能提示,由于Winform中的响应速度比较快,我们可以根据输入的首字母或者部分中文快速更新列表内容即可,如下图所示。
650 0
文本框中只能输入数字
1 同上上篇日志  老师给的代码 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.
720 0
Android EditText 获得输入焦点 以及requestfocus()失效的问题
最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,并且输入框获取焦点,但是实际中确不起作用 package com.
1094 0
WPF中设置TEXTBOX为多行文本输入框
WPF中没有textarea的东西,不像在ASP.NET中设置textbox那样设置一个多行属性就可以变成文本域,虽然可以使用ricktextbox实现多行文本输入,但是richtextbox比较复杂,面对简单的多行文本输入的时候太麻烦了点,但是WPF的textbox依然可以通过设置属性实现像textarea一样的多行文本输入。
1074 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载