WPF快速入门教程之绑定Binding

2020-01-05 09:33:02丽君


xmlns:local="clr-namespace:Binding_Demo"

资源定义,以便于在控件中引用


<Window.Resources>
 <local:DateConverter x:Key="dateconvert" />
</Window.Resources>

最后,则将值转换器应用到控件上,代码如下:


<TextBox Text="{Binding Date,Converter={StaticResource dateconvert}}" />

至此,一个简单的值转换器就完成了。

数据验证

在绑定中的验证主要设计四个属性:

  • ValidatesOnDataErrors或者ValidatesOnNotifyDataErrors(WPF 4.5之后才有的)—— 与DataErrorValidationRule或NotifyDataErrorValidationRule组合使用
  • ValidatesOnExceptions —— 与ExceptionValidationRule组合使用
  • NotifyOnValidationError —— 控制是否触发Validation.Error事件,用于额外的内容处理
  • ValidationRules —— 验证规则,用于定义验证规则集合

    下面我们以异常验证规则来简要介绍验证规则的使用 —— 验证处理涉及的内容有很多,单此一节无法描述完整,故仅列举最简单的使用方式:

    首先是后台类的定义:

    
    class ForExceptionValidate
    {
     private int max;
     public int Max
     {
      get { return max; }
      set
      {
       if (value > 100)
       {
        throw new Exception("Max不能超过100");
       }
       max = value;
      }
     }
    }
    
    this.forvalidate.DataContext = new ForExceptionValidate();