Silverlight之我见——数据批示(2)
接着上一回的话题,继续来研究数据批示特性,先拿简单的RageAttribute来弄弄,接着上次的示例,添加一个Age属性,并加上RangeAttribute。
[Range(20,60,ErrorMessage="年龄范围在20与60之间。")] [Display(Name="年龄",Description="歌手年龄。")] public int Age { get; set; }
接着把XAML也补完整。
<sdk:Label x:Name="lbAge" Target="{Binding ElementName=txtAge}" Grid.Column="0" Grid.Row="2" FontSize="14" Margin="1,1,20,1"/> <StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal"> <TextBox x:Name="txtAge" Margin="1,1" Width="165" Text="{Binding Age}"/> <sdk:DescriptionViewer Target="{Binding ElementName=txtAge}"/> </StackPanel>
int m_Age = 20; [Range(20, 60, ErrorMessage = "年龄范围在20与60之间。")] [Display(Name = "年龄", Description = "歌手年龄。")] public int Age { get { return this.m_Age; } set { Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "Age" }); this.m_Age = value; } }
<sdk:ValidationSummary Grid.Row="3" Grid.ColumnSpan="2"/>
再次按下F5,验证失败后仍然抛出异常,这时候,你可能有些失望。
山重水复疑无路,柳暗花明会成功,这时候,你在项目上右击,选择“在浏览器中查看”,啊,眼前一亮,出来了。
现在,总结一下方法:
1、在定义公共属性时加上对应的特性,如RangeAttribute;
2、在属性的set访问器上调用Validator的ValidateProperty方法;
3、在XAML或前台绑定时,将Binding 的Mode设置为TwoWay,ValidatesOnExceptions和NotifyOnValidationError设置为True;
4、添加ValidationSummary控件以显示错误列表,当然,不加也可以,看看下面的截图。
5、在非debug模式下运行程序。
转载于:https://www.cnblogs.com/tcjiaan/archive/2011/12/12/2422680.html
Silverlight之我见——数据批示(2)相关推荐
- Silverlight – Datagrid,Dataform数据验证和ValidationSummary
上一篇,我们讨论了,捕获用户提交数据验证.本篇将集中讨论Datagrid和Dataform两个数据控件的数据验证方法,其中,我们会附加介绍一个新的验证控件ValidationSummary. 概述 D ...
- SilverLight之我见
SliverLight 是微软公司全力打造的一种跨平台,跨浏览器的RIA新技术,SilverLight以XAML为界面呈现语言,支持2D图形,文字,动画,数据双向绑定,控件风格与模板,Linq,WCF ...
- WPF及Silverlight中将DataGrid数据导出
这段源码是我在项目中实际应用的源码,没有经过删减及处理. 如果你认为有用可以摘去作为自己的导出类中的一个小工具使用. /// <summary> /// 数据源导出辅助类 ...
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日) 本周Silverlight学习资源更新 Silverlight学习小记 阿里山地方 ...
- Silverlight入门:第三部分 - 数据访问
现在我们已经有了一个基础布局,同时也在上面放了一些控件,接下来让我 们开始获取数据.因为我们想要搜索Twitter上的内容,所以我们需要充分使用 他们提供的Web服务API.在继续之前,我要先说明在本 ...
- Silverlight实例教程 – Datagrid,Dataform数据验证和ValidationSummary
上一篇,我们讨论了,捕获用户提交数据验证.本篇将集中讨论Datagrid和Dataform两个数据控件的数据验证方法,其中,我们会附加介绍一个新的验证控件ValidationSummary. 概述 D ...
- (转)Silverlight数据校验之INotifyDataErrorInfo
原文地址:http://www.cnblogs.com/PerfectSoft/archive/2012/03/01/2375007.html 在Silverlight中,数据实体类的有效性校验有多种 ...
- Silverlight实例教程 - Validation数据验证基础属性和事件
上篇介绍了Silverlight的Validation数据验证的好处和概述,其中了解到Silverlight数据验证方法可以被抽象为语法验证和语义验证,其中前者是通过数据类型定义对比验证,而后者是通过 ...
- Silverlight实用窍门系列:58.Silverlight中的Binding使用(三)-数据集合绑定
在本文中将以ListBox为例讲述在Silverlight中Binding数据集合. 在这里我们将实体集的绑定分为三类: 一.直接控件绑定. 二.DataTemplate模板绑定. ...
最新文章
- python数据接口设计_python之接口与归一化设计
- Python解决ModuleNotFoundError: No module named ‘Queue‘的问题
- IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl
- oracle不一致性关闭下次,Oracle DataGuard
- Gora官方文档之二:Gora对Map-Reduce的支持
- 在BurpSuite中安装Jython环境
- Google Analytics(分析)
- 链表简单实现(增删查改)
- 数组concat_js 标准二维数组变一维数组的方法
- 【软件工程】 详细设计
- 技巧:删除桌面上提示找不到该项目的文件
- keyword can not be an expression
- 《看美女不掉头发》【C语言】求一个数是否为素数的四种方法
- 白帽黑客必备的网络安全基础问答
- 2020年精选网络性能监控系统
- h5 神策埋点_神策埋点思路
- 什么是关联分析?如何利用关联规则做好数据挖掘
- 橘子识别java_Java方法
- python 二维强度图_Python简单做二维统计图
- Cg学习记录003 之Varying参数