我有一个文本框,在上面的xaml中添加了验证规则。该规则有效并且可以检测到错误,但是只有在用户将焦点放在窗口中的其他元素(例如另一个文本框)上之后。
这是定义:
<TextBox x:Name="textBoxLongitude" Grid.Row="1" Grid.Column="1" Margin="0,0,0,10" VerticalContentAlignment="Center">
<TextBox.Text>
<Binding Path="CustomerLongitude">
<Binding.ValidationRules>
<local:IsDoubleValidationRule MaxValue ="180"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
我尝试通过将其添加到文本框的xaml中来解决该问题:
TextChanged="textBoxTextChanged"
执行:
private void textBoxTextChanged(object sender, TextChangedEventArgs e)
{
CommandManager.InvalidateRequerySuggested();
}
没有帮助。
我如何使验证规则能够检测到错误,以及何时修复错误,即使用户无需将焦点放在另一个控件上也可以?
答案 0 :(得分:0)
将绑定的UpdateSourceTrigger
设置为PropertyChanged
,以提交并重新评估每次更改而不是LostFocus
的绑定值。
这是这样做的方法:<Binding Path="CustomerLongitude" UpdateSourceTrigger="PropertyChanged">