读书人

WPF前台数据印证(红框)Validation.E

发布时间: 2013-02-19 11:11:40 作者: rapoo

WPF前台数据验证(红框)Validation.ErrorTemplate 附加属性

WPF 显示验证错误的默认方式是在控件周围绘制红色边框。通常需要对此方法进行自定义,以通过其他方式来显示错误。而且,默认情况下不会显示与验证错误关联的错误消息。常见的要求是仅当存在验证错误时才在工具提示中显示错误消息。通过将 Styles 和一组与验证关联的附加属性进行组合,可以相当轻松地自定义验证错误显示。

WPF前台数据印证(红框)Validation.ErrorTemplate 附加属性WPF前台数据印证(红框)Validation.ErrorTemplate 附加属性

前台xaml:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel;using System.Reflection;using System.ComponentModel.DataAnnotations;namespace WpfApplication11111{    public class ValidationUtility : IDataErrorInfo    {        public string Error        {            get { return _error; }        }        public string _error;        public string this[string columnName]        {            get            {                Type tp = this.GetType();                PropertyInfo pi = tp.GetProperty(columnName);                var value = pi.GetValue(this, null);                object[] Attributes = pi.GetCustomAttributes(false);                if (Attributes != null && Attributes.Length > 0)                {                    foreach (object attribute in Attributes)                    {                        if (attribute is ValidationAttribute)                        {                            ValidationAttribute vAttribute = attribute as ValidationAttribute;                            if (!vAttribute.IsValid(value))                            {                                _error = vAttribute.ErrorMessage;                                return _error;                            }                        }                    }                }                return null;            }        }    }}
代码下载地址:http://download.csdn.net/detail/hwt0101/5070730
相关地址:http://msdn.microsoft.com/zh-cn/magazine/ff714593.aspx

http://msdn.microsoft.com/zh-cn/library/system.windows.controls.validation.errortemplate(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/ms752068(v=vs.100).aspx
http://wpf.codeplex.com/releases/view/14962

读书人网 >Ruby Rails

热点推荐