XAML Code

 <Grid x:Name="LayoutRoot"><TextBlock Height="23" HorizontalAlignment="Left" Margin="56,23,0,0" Text="用户编号:" VerticalAlignment="Top" /><TextBlock Height="23" HorizontalAlignment="Left" Margin="56,110,0,0"  Text="出生年月:" VerticalAlignment="Top" /><TextBlock Height="23" HorizontalAlignment="Left" Margin="56,81,0,0"  Text="用户年龄:" VerticalAlignment="Top" /><TextBlock Height="23" HorizontalAlignment="Left" Margin="56,52,0,0"  Text="用户名称:" VerticalAlignment="Top" /><Rectangle Height="185" HorizontalAlignment="Left" Margin="44,9,0,0" Name="rectangle1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="351" /><TextBox Height="23" Text="{Binding UserCode,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=True}" HorizontalAlignment="Left" Margin="127,21,0,0" Name="txtUserCode" VerticalAlignment="Top" Width="120" /><sdk:DescriptionViewer Margin="253,20,245,440" Height="20" Triggers="{Binding ElementName=txtUserCode}" PropertyPath="UserCode"></sdk:DescriptionViewer><TextBox  Text="{Binding UserAge,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=True}" Height="23" HorizontalAlignment="Left" Margin="127,81,0,0" Name="txtUserAge" VerticalAlignment="Top" Width="120" /><sdk:DescriptionViewer Height="20" Margin="253,84,245,376"  Triggers="{Binding ElementName=txtUserAge}" PropertyPath="UserAge"/><TextBox  Text="{Binding UserName,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=True}" Height="23" HorizontalAlignment="Left" Margin="127,52,0,0" Name="txtUserName" VerticalAlignment="Top" Width="120" /><sdk:DescriptionViewer Height="20" Margin="253,52,245,408" Triggers="{Binding ElementName=txtUserName}" PropertyPath="UserName" /><sdk:DatePicker  Text="{Binding UserBorthDay,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=True}" Height="23" HorizontalAlignment="Left" Margin="127,110,0,0" Name="txtUserBorthDay" VerticalAlignment="Top" Width="120" /><sdk:DescriptionViewer Height="20" Margin="253,113,245,347" Triggers="{Binding ElementName=txtUserBorthDay}" PropertyPath="UserBorthDay" /><sdk:ValidationSummary Margin="44,137,245,288"></sdk:ValidationSummary></Grid>

C# Code

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;namespace SLDemo3.Views
{public partial class Page1 : Page{public Page1(){InitializeComponent();this.DataContext = new UserInfo(1001, "赵大", 23, DateTime.Now);}// 当用户导航到此页面时执行。protected override void OnNavigatedTo(NavigationEventArgs e){}}/// <summary>/// 用户信息/// </summary>public class UserInfo{/// <summary>/// 用户编号/// </summary>private int _UserCode;/// <summary>/// 用户名称/// </summary>private string _UserName;/// <summary>/// 用户年龄/// </summary>private int _UserAge; /// <summary>/// 出生年月/// </summary>private DateTime _UserBorthDay;public UserInfo(int usercode, string username, int userage, DateTime userborthday){_UserCode = usercode;_UserName = username;_UserAge = userage;_UserBorthDay = userborthday;}[Display(Name = "UserCode",Description = "请输入正确的用户编号!在1000到9999之间!")]   //显示[Range(1000, 9999, ErrorMessage = "请输入正确的用户编号!在1000到9999之间!")]public int UserCode{get { return _UserCode; }set{Validator.ValidateProperty(value,new ValidationContext(this,null,null){MemberName = "UserCode"});_UserCode = value;}}[Display(Name = "UserName",Description = "用户名称!")][Required(ErrorMessage = "请输入正确的用户名!")]public string UserName{get { return _UserName; }set{Validator.ValidateProperty(value,new ValidationContext(this,null,null){MemberName = "UserName"});_UserName = value;}}[Display(Name = "UserAge",Description = "用户年龄!在18到90之间!")][Range(18, 90, ErrorMessage = "用户年龄!在18到90之间!")]public int UserAge{get { return _UserAge; }set{Validator.ValidateProperty(value,new ValidationContext(this,null,null){MemberName = "UserAge"});_UserAge = value;}}[Display(Name = "UserBorthDay", Description = "出生年月!")]public DateTime UserBorthDay{get { return _UserBorthDay; }set{Validator.ValidateProperty(value,new ValidationContext(this,null,null){MemberName = "UserBorthDay"});_UserBorthDay = value;}}}
}

ValidationSummary 控件显示给定容器的验证错误的合并列表。

DisplayAttribute 特性应用于属性以指定用于增强这些属性值的显示的值

Silverlight 控件的验证相关推荐

  1. Silverlight控件应用系列索引

    Silverlight 控件应用系列 最后更新日期:2009-10-18 1.控制器类[Controls] 展开 闭合 日历组件(Calendar) 子窗体组件(ChildWindow) 非模式窗体组 ...

  2. 控件注册验证机制探索 License

        先给大家介绍一下Silverlight客户端控件的使用情景.一般来说,Silverlight客户端控件会****给开发Silverlight程序 的公司,他们是控件的购买者.他们开发的程序中会 ...

  3. Silverlight 3.0 不再包含 asp:silverlight 控件

    从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件: Could not load file or assem ...

  4. 一个XAP中有多个Silverlight控件时如何选择调用

    为了节省文件大小,应该把多个Silverlight控件放在一个XAP文件里,例如Page1.xaml和Page2.xaml.第一次加载哪一个可以在App的Startup事件的处理事件中选择性加载. p ...

  5. python爬silverlight_Python创建Silverlight控件编写过程经验分享

    Python编程语言可以帮助我们实现哪些功能呢?它的主要应用范围都包括哪些呢?我们今天先来了解一下有关Python创建Silverlight控件的相关实现方法,以此来初步熟悉一下这一语言的应用方式以及 ...

  6. 客户端控件Javascript验证类

    客户端控件Javascript验证类 2005-09-20 javascritp一直是web开发的利器,在Ajax逐渐流行以后,javascript又更焕发活力.但是别误会,本文不讨论如何用javas ...

  7. 如何为IDE注册第三方Silverlight控件

    为IDE注册第三方Silverlight控件,相对WinForm平台下第三方控件的注册,较为复杂.这里结合实际,给出一个相对方便的解决方案,欢迎讨论. 先看结果,以InputMan for Silve ...

  8. 关于控件与验证控件一个不用回传的属性CausesValidation=False

    在一般控件操作不用验证控件去验证时,可设置该控件属性为CausesValidation="False"

  9. jeDate日期控件的验证

    前面用到了jeDate日期控件的使用,https://www.jianshu.com/p/393d9e992144,在这个控件的基础上,做出一些完善:关于jeDate日期控件的验证的问题: 一般会有三 ...

最新文章

  1. 常考数据结构与算法:最长公共子串
  2. js用递归遍历多维数组_js面试题更新之40
  3. 如何在dva的effects中实现回调
  4. python exe文件运行依赖环境_python将py代码文件转换为EXE脱离环境运行
  5. android自验签名证书,没有以前的互联网连接,无法验证Android自签名证书
  6. [na]华为acl(traffic-filter)和dhcp管理
  7. hibernate持久化对象
  8. Linux服务器的eth,linux做服务器安装两块网卡问题????
  9. Git:使用 GitHub 托管代码的简单流程
  10. 服务器的hosts文件位置,Hosts文件位置和书写规范
  11. 【游戏编程扯淡精粹】程序员的Windows技巧
  12. 树莓派搭建博客/网站教程
  13. 基于ASP.NET+SQL Server实现(Web)企业进销存管理系统【100010296】
  14. JavaSE常用类练习
  15. 4.16 Android 感应器实现摇一摇的功能
  16. 响应式织梦模板品牌设计建设类网站
  17. 基于区块链技术的供应链金融平台
  18. mysql against 中文_「against的用法」Mysql全文搜索之MATCH...AGAINST的用法介绍 - seo实验室...
  19. Latex 字母上方箭头
  20. 个人APP盈利之道:内容为王 学会适当放弃

热门文章

  1. 基于大数据开发套件定时调度带资源文件的MapReduce作业
  2. 2015年获得大数据顶尖职位必备的9项技能
  3. urlScan 配置阻止sql注入
  4. shell安装samba服务
  5. Android项目中使用激光推送时在模拟器上运行时报Fatal signal 11的解决
  6. 有关import sun.audio.AudioPlayer(或者其它文件)的问题
  7. APP-SQLAP-10771
  8. 单片机控制24v电压_最全变频器控制端子接线方法和技巧
  9. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件
  10. 为0用c语言怎么写,应输出“1990”,该怎么写用C语言编程写 – 手机爱问