一个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 ...
随机推荐
- md5Util
package com.rscode.credits.util; /** * MD5加密类 * @author 12 */ import java.security.MessageDigest; pu ...
- Bartender标签传参与打印
在VS中添加bartender的COM组件引用后(一定要添加,否则会提示找不到BarTender.Application): /// <summary> /// Bartender模板打印 ...
- oracle控制文件问题
下午时连接数据库突然发现连不上了,监听报错找不到服务,于是登录数据库所在服务器,查看监听状态,oracle:lsnrctl status 监听状态正常,登入数据库查看[oracle@frkdb1 ~] ...
- UE4 材质编辑
1.颜色反转(纹理颜色白变黑,黑变白)
- usg6000
USG6000密码恢复 1.如果某个管理员遗忘了密码,可以使用其它高权限的管理员账号登录设备,然后修改密码.例如,管理员admin1的密码遗忘,此时可以由管理员admin登录设备,然后修改admin1 ...
- C#利用首尾時間計算中間時間差
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- MySQL Execution Plan--IN子查询包含超多值引发的查询异常1
======================================================================= SQL语句: SELECT wave_no, SUM(I ...
- Vue.js 父子组件之间通信的方式
Vue 父子组件之间的同学有一下几种方式: 1. props 2. $emit -- 组件封装用的比较多 3. .sync -- 语法糖 4. $attrs 和 $listeners -- 组件封装用 ...
- mysql异常 : The driver has not received any packets from the server.
异常: 结论:域名写错了或报这个异常
- Spring众多jar包的特点,及Spring jar包官网下载方法
下面给大家说说spring众多jar包的特点吧,无论对于初学spring的新手,还是spring高手,这篇文章都会给大家带来知识上的收获,如果你已经十分熟悉本文内容就当做一次温故知新吧.spring. ...