没啥好说的,直接上代码:

 public class NumberInputBehaviour : Behavior<TextBox>
{
protected override void OnAttached()
{
base.OnAttached();
InputMethod.SetIsInputMethodEnabled(AssociatedObject, false);
AssociatedObject.PreviewTextInput += AssociatedObject_PreviewTextInput;
AssociatedObject.TextChanged += AssociatedObject_TextChanged;
AssociatedObject.LostFocus += AssociatedObject_LostFocus;
} protected override void OnDetaching()
{
base.OnDetaching();
AssociatedObject.PreviewTextInput -= AssociatedObject_PreviewTextInput;
AssociatedObject.TextChanged -= AssociatedObject_TextChanged;
AssociatedObject.LostFocus -= AssociatedObject_LostFocus;
} private void AssociatedObject_LostFocus(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(AssociatedObject.Text))
{
if (!string.IsNullOrEmpty(NullText))
{
AssociatedObject.Text = NullText;
}
}
} private void AssociatedObject_TextChanged(object sender, TextChangedEventArgs e)
{
if (Convert.ToInt32(AssociatedObject.Text) == )
{
AssociatedObject.Text = "";
AssociatedObject.SelectionStart = AssociatedObject.Text.Length;
}
} private void AssociatedObject_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
Regex re = new Regex("[^0-9]+");
e.Handled = re.IsMatch(e.Text); } public String NullText
{
get { return (String)GetValue(NullTextProperty); }
set { SetValue(NullTextProperty, value); }
} // Using a DependencyProperty as the backing store for NullText. This enables animation, styling, binding, etc...
public static readonly DependencyProperty NullTextProperty =
DependencyProperty.Register("NullText", typeof(String), typeof(NumberInputBehaviour), new PropertyMetadata("")); }

xaml 使用方法 :

 <TextBox>
<i:Interaction.Behaviors>
<local:NumberInputBehaviour NullText="请输入"></local:NumberInputBehaviour>
</i:Interaction.Behaviors>
</TextBox>

OK....

一个WPF只能输入数字的行为。的更多相关文章

  1. android的edittext设置输入限制,只能输入数字

    EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性: android:digits="123 ...

  2. js实例:验证只能输入数字和一个小数点

    分享一个javascript脚本代码,用于验证只能输入数字和一个小数点,检测数字输入是否符合要求,效果不错,有用到的朋友拿去吧. 原文地址:http://www.jbxue.com/article/1 ...

  3. 执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确.

    执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确. type TForm1 = class(TForm) Edit1: TEdit ...

  4. 限制HTML的input只能输入数字、英文、汉字...

    限制HTML的input只能输入数字.英文.汉字... 关键词:正则表达式, JavaScript, HTML, input 常用HTML正则表达式1.只能输入数字和英文的:<input onk ...

  5. Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)

    最近在开发中使用到了UpDown这个控件,但是因为之前没有使用过,所以很不熟悉,于是就编写了一个简单的demo来学习UpDown以及其结合TEdit的用法. 初步的常用功能的简介 目前(2015.08 ...

  6. Android editview 设置只能输入数字、字母和汉字

    Android editview 设置只能输入数字.字母和汉字 当处理密码.昵称等特殊情况的时候,往往需要对输入内容加以限制.对于单纯的一种输入法限制可以对键盘和editview熟悉进行控制,而对于多 ...

  7. java 24 - 6 GUI之 创建只能输入数字的文本框

    需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...

  8. js控制只能输入数字和小数点

    非常好用,代码示例如下: <input  onkeypress = "return event.keyCode>=48&&event.keyCode<=57 ...

  9. js 只能输入数字和小数点

    <html><head><meta http-equiv="content-Type" content="text/html;charset ...

随机推荐

  1. tp5.0隐藏路由后缀index.php

    一开始的路由是有index.php结尾的 接下来开始修改主要文件

  2. HTTP Post multipart/form-data支持

    最近需要向平台发送录像文件,但是Skynet没有multipart/form-data的Post请求支持,写篇blog记录一下 skynet有自带简单的httpc,里面有post方法.但是这个post ...

  3. python 读fnl数据

    (1) FNL 数据介绍 FNL((Final Operational Global Analysis)数据是美国国家环境预报中心(NECP)/美国国家大气研究中心(NCAR)提供的全球再分析资料,空 ...

  4. vue 父子组件通信

    算是初学vue,整理一下父子组件通信笔记. 父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消息. 一.父组件向子组件下发数据: 1.在子组件中显式地用props选项声明它预期的数据 ...

  5. freemarker demo

    <!--freemarker--> <dependency> <groupId>org.springframework.boot</groupId> & ...

  6. ubutu16.04 安装Tenda u12无线网卡驱动

    ubutu16.04 安装Tenda u12无线网卡驱动 一些问题: 1) Tenda u12 linux版本的驱动支持 kernel 2.6 到 4.4,而前系统内版本核为4.10,所以编译不过去啦 ...

  7. Python学习:列表、元组、字典、集合

    转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...

  8. Idea debug时报错:Command line is too long

    问题:写单元测试,debug时,报错 解决方法: 在项目/.idea/workspace.xml文件中添加一行代码如下 <component name="PropertiesCompo ...

  9. python中的RE模块

    re模块(* * * * *) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列 ...

  10. python3+ 简单爬虫笔记

    import urllib.request import re def getHtml(url): html = urllib.request.urlopen(url).read() return h ...