我的窗口上有以下 Loaded 事件:
void Window_Loaded(object sender, RoutedEventArgs e) {
this.DataContext = new MyObject() {
MyDateTime = DateTime.Now,
MyNotEmptyString = "Not Empty",
MyNotUpperCaseString = "not upper case",
MyInteger = 20,
MyIntegerInRange = 1,
MyDouble = 4.56
};
}
对于上面初始化的每个属性,我都有一个TextBox
绑定到它的属性,每个属性都有与之关联的自己的验证规则。
问题是,我的验证规则在设置时不是第一次运行this.DataContext
,但在表单正常使用时效果很好(它们在TextBox
失去焦点时运行)。这背后的原因可能是什么?我试过设置UpdateSourceTrigger="PropertyChanged"
,但这没有帮助。
编辑:
这是一个TextBox
绑定到属性的示例:
<TextBox Name="MyDoubleField">
<TextBox.Text>
<Binding Path="MyDouble">
<Binding.ValidationRules>
<local:TextIsDouble/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>