WPF第八章绑定数据验证.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WPF第八章绑定数据验证.doc

一、通过代码实现数据绑定 通过代码实现数据绑定,使用的是System.Windows.Data命名空间的Binding类,主要使用Binding类的如下的属性: Source属性:绑定到的数据源 Mode属性:绑定的模式(OneTime、OneWay、TwoWay、OneWayToSource或Default) Path属性:绑定到的数据源的属性 Converter属性:绑定时所使用的类型转换器 在绑定目标控件上使用SetBinding方法添加数据绑定。例如将MyData的Name属性绑定到txtName控件的Text属性上,使用MyColorConverter转换器将MyBindingColor的ColorObject属性绑定到rec控件的Fill属性上: 1: MyData data = new MyData(); 2:? 3: Binding binding1 = new Binding(); 4: binding1.Source = data; 5: binding1.Mode = BindingMode.OneWay; 6: binding1.Path = new PropertyPath(Name); 7:? 8: txtName.SetBinding(TextBox.TextProperty, binding1); 9:? 10:? 11: MyBindingColor color = new MyBindingColor(); 12:? 13: Binding binding2 = new Binding(); 14: binding2.Source = color; 15: binding2.Mode = BindingMode.OneWay; 16: binding2.Path = new PropertyPath(ColorObject); 17: binding2.Converter = new MyColorConverter(); 18:? 19: rec.SetBinding(Rectangle.FillProperty, binding2); 二、实现绑定数据的验证: 对于绑定数据的验证,系统采用如下的机制: 使用 WPF 数据绑定模型可以将 ValidationRules 与 Binding 对象相关联。当绑定目标的属性向绑定源属性传递属性值时(仅限TwoWay模式或OneWayToSource模式),执行ValidationRule中的Validate方法,实现对界面输入数据的验证。 定义验证可以采用以下三种: DataErrorValidationRule:检查由源对象的 IDataErrorInfo 实现所引发的错误,要求数据源对象实现System.ComponentModel命名空间的IDataErrorInfo接口。 例如,定义一个学生信息类,要求其学生成绩在0到100间,学生姓名的长度在2到10个字符间: 1: public class StudentInfoWithValidation : IDataErrorInfo 2: { 3: #region 构造方法 4: public StudentInfoWithValidation() 5: { 6: StudentName = Tom; 7: Score = 90; 8: } 9: public StudentInfoWithValidation(string m_StudentName,double m_Score) 10: { 11: StudentName = m_StudentName; 12: Score = m_Score; 13: } 14: #endregion 15:? 16: #region 属性 17: public string StudentName 18: { 19: get; set; 20: } 21: public double Score 22: { 23: get; set; 24: } 25: #endregion 26:? 27: #region 实现IDataErrorInfo接口的成员 28: publ

文档评论(0)

wwvfz702 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档