WPF验证错误一直存在,直到控制失去重点

时间:2019-05-26 12:39:58

标签: c# wpf validationrules

我有一个文本框,在上面的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();
}

没有帮助。

我如何使验证规则能够检测到错误,以及何时修复错误,即使用户无需将焦点放在另一个控件上也可以?