- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 6.第六章 排队论.pdf
- 6第六章 教学系统软件安装和使用.pdf
- 6第六章 非合作寡占定价.ppt
- 6第六章 海浪.ppt
- 6第六章 练习题.doc
- 6第六章习题.doc
- 6第六章储能元件.ppt
- 6第六章课堂复习.pdf
- 7 第六章顶出系统-2斜顶座形式.pdf
- 7.1第八章习题答案.doc
- 乌鲁木齐职业大学单招《物理》考前冲刺练习及参考答案详解(基础题).docx
- 天府新区通用航空职业学院单招《职业适应性测试》每日一练试卷及完整答案详解一套.docx
- 2025重庆公共运输职业学院单招《职业适应性测试》能力提升B卷题库含答案详解【巩固】.docx
- 2025邢台应用技术职业学院单招《语文》试题附完整答案详解【全优】.docx
- 2025湖南食品药品职业学院单招《英语》真题含答案详解【名师推荐】.docx
- 邵阳职业技术学院单招《职业适应性测试》试题预测试卷(全优)附答案详解.docx
- 2025一季度教学教育课件新模板.pptx
- 2025长春师范高等专科学校单招《职业适应性测试》自我提分评估含答案详解【B卷】.docx
- 驻马店职业技术学院单招《职业适应性测试》复习提分资料【考点梳理】附答案详解.docx
- 法律风险管理与数据隐私保护.pptx
文档评论(0)