一个WPF只能输入数字的行为。
没啥好说的,直接上代码:
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只能输入数字的行为。的更多相关文章
- android的edittext设置输入限制,只能输入数字
EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性: android:digits="123 ...
- js实例:验证只能输入数字和一个小数点
分享一个javascript脚本代码,用于验证只能输入数字和一个小数点,检测数字输入是否符合要求,效果不错,有用到的朋友拿去吧. 原文地址:http://www.jbxue.com/article/1 ...
- 执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确.
执行这些代码, Edit1只能输入数字,小数点和负号,负号和小数点只能输入一个,负号必须在最前,粘贴的数字必须完全正确. type TForm1 = class(TForm) Edit1: TEdit ...
- 限制HTML的input只能输入数字、英文、汉字...
限制HTML的input只能输入数字.英文.汉字... 关键词:正则表达式, JavaScript, HTML, input 常用HTML正则表达式1.只能输入数字和英文的:<input onk ...
- Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)
最近在开发中使用到了UpDown这个控件,但是因为之前没有使用过,所以很不熟悉,于是就编写了一个简单的demo来学习UpDown以及其结合TEdit的用法. 初步的常用功能的简介 目前(2015.08 ...
- Android editview 设置只能输入数字、字母和汉字
Android editview 设置只能输入数字.字母和汉字 当处理密码.昵称等特殊情况的时候,往往需要对输入内容加以限制.对于单纯的一种输入法限制可以对键盘和editview熟悉进行控制,而对于多 ...
- java 24 - 6 GUI之 创建只能输入数字的文本框
需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...
- js控制只能输入数字和小数点
非常好用,代码示例如下: <input onkeypress = "return event.keyCode>=48&&event.keyCode<=57 ...
- js 只能输入数字和小数点
<html><head><meta http-equiv="content-Type" content="text/html;charset ...
随机推荐
- Dapp的PVP发模式--magic-maze-2d游戏解读
前言: 未来基于Dapp的游戏可能会多起来吧, 尤其是博彩类游戏, 由于区块链匿名特性, 加之数字货币不受国家监控, 几乎成了一个法外之地. 大量游戏团队都往之涌入. 今天讲讲当前Dapp的一种游戏模 ...
- js数组操作-最佳图解
js数组操作-最佳图解
- CentOS 7 / RHEL 7:修改OpenSSH 默认端口
1.备份sshd_config cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig.$(date +%F) 2.vi /etc/ssh/sshd_ ...
- MYSQL常用命令2
mysql 的dos命令行大全 2016年11月04日 16:03:59 阅读数:7987 1.连接Mysql(中文乱码在文章的最后) 格式: mysql -h主机地址 -u用户名 -p用户密码 1. ...
- SQL Server信息偏差影响表联结方式统计
SQL Server统计信息偏差影响表联结方式案例浅析 我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适 ...
- 用雷达统计成绩单、numpy、matplotlib的使用
#e19.1DrawRadar import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcPa ...
- 2019年4月zstu月赛A: 我不会做
问题 A: 我不会做 时间限制: 1 Sec 内存限制: 128 MB 题目描述 众所周知,duxing201606就是plw. 然而已经9102年了,plw仍旧没有npy.plw非常难过,于是他打 ...
- 基于Selenium的web自动化框架
转自 : https://www.cnblogs.com/AlwinXu/p/5836709.html 1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台. ...
- MongoDB连接
1. import pymongo client = pymongo.MongoClient(host='localhost',port=27017) 2. client=MongoClient('m ...
- 《python for data analysis》第五章,pandas的基本使用
<利用python进行数据分析>一书的第五章源码与读书笔记 直接上代码 # -*- coding:utf-8 -*-# <python for data analysis>第五 ...