WPF 绑定 验证
<TextBox Grid.Column="1"
                         Margin="1"
                         Text="{Binding Name,
                                        ValidatesOnExceptions=True,
                                        UpdateSourceTrigger=PropertyChanged}" />
在属性setter方法中校验时出现错误,就会出现一个红色的错误框。
private string name;
public string Name
{
	get   {  return this.name;   }
	set
	{
		if (string.IsNullOrWhiteSpace(value))
		{
			throw new ArgumentException("Name cannot be empty!");
		}
if (value.Length < 4)
		{
		  throw new ArgumentException("Name must have more than 4 char!");
		}
		this.name = value;
		this.OnPropertyChanged(() => this.Name);
	}
}
WPF 绑定 验证的更多相关文章
- WPF快速入门系列(4)——深入解析WPF绑定
		一.引言 WPF绑定使得原本需要多行代码实现的功能,现在只需要简单的XAML代码就可以完成之前多行后台代码实现的功能.WPF绑定可以理解为一种关系,该关系告诉WPF从一个源对象提取一些信息,并将这些信 ... 
- wpf数据验证实例及常用方法小结
		虽然标题是wpf数据验证,但并不是对IDataErrorInfo.ValidationRule.属性中throw Exception这几种验证方式的介绍: 之前做项目时(例如员工工资管理),根据员工编 ... 
- WPF绑定的ListBox获取ListBoxItem及GoToState应用
		现公司项目中需要制作一个扇形菜单,菜单项是用ListBox重写Style实现的,其数据是绑定的.菜单的每一项都有Normal,MouseOver和Selected三种状态,这三种状态当然可以通过鼠标移 ... 
- WPF绑定文本时使用指定格式文本
		原文:WPF绑定文本时使用指定格式文本 Text="{Binding PlayletModel.characters,StringFormat=Cast : {0}}" Strin ... 
- WPF绑定之索引器值变化通知
		背景 在某些应用中,需要在界面上绑定到索引器,并在值发生变化时实时更新. 解决方案 只要将包含索引器的类实现INotifyPropertyChanged接口,并在索引值更改时引发PropertyCha ... 
- WPF 绑定StaticResource到控件的方法
		原文:WPF 绑定StaticResource到控件的方法 资源文件内的属性能否直接通过绑定应用到控件?答案是肯定的. 比如,我们要直接把下面的<SolidColorBrush x:Key=&q ... 
- WPF 绑定以基础数据类型为集合的无字段名的数据源
		WPF 绑定以基础数据类型为集合的无字段名的数据源 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-21 我们在控件的数据绑定 ... 
- WPF绑定xaml中绑定对象需用属性表示,字段不可以绑定
		在练习WPF绑定时发现对象属性可以在XAML中绑定,但字段是不可以绑定: 比如: private Person person{get;set;} 可以绑定到XAML中,<TextBox Nam ... 
- WPF绑定各种数据源之object数据源
		一.WPF绑定各种数据源索引 WPF 绑定各种数据源之Datatable WPF绑定各种数据源之object数据源 WPF绑定各种数据源之xml数据源 WPF绑定各种数据源之元素控件属性 Bindin ... 
随机推荐
- Oracle记录-开启与关闭数据库
			1.配置tnsnames.ora/listener.ora #cd /usr/oracle/oracle/product/11.2.0/db_1/network/admin ---切换到安装目录 #v ... 
- 绕过/*,web.xml直接访问jsp【转】
			web.xml中如果配置了/* 全匹配,那么不能用servet去响应页面返回了,因为全都被会/*拦截. <servlet> <servlet-name>validateAuth ... 
- bzoj千题计划301:bzoj4259: 残缺的字符串
			https://www.lydsy.com/JudgeOnline/problem.php?id=4259 令通配符=0 f[i+m-1]=Σ (a[i+j]-b[m-1-j])^2 * a[i+j] ... 
- python读取Excel文件。
			#!/usr/bin/python # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import urllib.request import ... 
- 向GitHub上上传代码(转)
			使用git将项目上传到github(最简单方法) 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下 ... 
- C# 时间戳与时间相互转化
			using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 时间戳d ... 
- Linux - DDOS检测
			netstat netstat -na #显示所有连接到服务器的活跃的网络连接 netstat -an | grep : | sort # 只显示连接到80段口的活跃的网络连接,80是http端口, ... 
- [C++]指针与引用(应用辨析)
			1.指针变量允许将一个整数经强制转换后赋值给指针变量 Eg: float *fp; fp = (float *)5000;//意义:将5000作为一个地址赋给指针变量fp 2 ... 
- mysql案例~关于mysql的配置文件个人见解
			mysql 设置参数解读一 mysql的参数分为几类 1 session级别可以设置 2 global级别可以设置 3 session+global级别可以设置 4 ... 
- js中获取时间new date()的用法和获取时间戳
			获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getF ... 
