彩票走势图

怎样将TextBox控件扩展为数字输入文本框

转帖|其它|编辑:郝浩|2011-04-06 13:56:39.000|阅读 981 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

  扩展一个控件的步骤:

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

  如

  public class NumericTextBox : TextBox

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

  如

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

  3、调用控件

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

  控件类NumericTextBox.cs

using System;
using System.Windows.Controls;
using System.Windows.Input;

namespace WPNumericTextBox.Controls
{
     public class NumericTextBox : TextBox
     {
         //返回键和数字键
         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.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
         }
     }


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP