using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using FWindSoft.Wpf; namespace Test.ValidateRule { /// /// WinValidation.xaml 的交互逻辑 /// public partial class WinValidation : Window, INotifyPropertyChanged { public WinValidation() { InitializeComponent(); MethodExe = (v) => { return false; }; this.DataContext = this; NameItem = "ff"; this.HasError(); } public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { }; /// /// 提交变更 /// /// 变更属性名称 protected void RaisePropertyChanged(String propertyName = "") { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } protected void RaisePropertyChanged(Expression> propertyExpression) { if (null != propertyExpression) { var memberExpression = propertyExpression.Body as MemberExpression; if (memberExpression != null) if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs(memberExpression.Member.Name)); } } else { throw new Exception(); } } private string m_Name; /// /// 注释 /// public string NameItem { get { return this.m_Name; } set { this.m_Name = value; RaisePropertyChanged(() => this.Name); } } public Func MethodExe { get; set; } } }