wpf验证规则与文本框有关

时间:2011-08-08 18:38:34

标签: wpf xaml data-binding validationrules

我创建了一个继承自ValidationRule的IntegersValidationRule类。现在我不知道我应该在XAML中编写什么代码。这就是我所拥有的:

<TextBox Name="defaultTxt"
     Height="23" Width="200">
  <TextBox.Text>
    <Binding UpdateSourceTrigger="PropertyChanged">
      <Binding.ValidationRules>
        <what:IntegersValidationRule/>
      </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>

我知道要么我是如此愚蠢以至于我在许多教程中都无法理解Binding属性中的Path意味着什么,为什么我们应该在没有绑定时使用Binding以及我应该使用什么而不是'what'字在Binding.ValidationRule中。

2 个答案:

答案 0 :(得分:2)

whatxmlnssee MSDN),需要指向声明验证规则类的命名空间,例如。

xmlns:what="clr-namespace:MyApp.MyValidationRules"

如果你没有添加Path - 如果你不理解它怎么读? - ),绑定将绑定到当前的DataContext,无论那是什么在你的情况下。

答案 1 :(得分:1)

  • 问题1:验证器处理绑定。这就是您在绑定上指定规则的原因。然后,只要将值更新为源(控件绑定的对象),就会检查规则。

  • 问题2:见H.B.的回答