BorderBrush的颜色不会立即改变,除非失去焦点
本文关键字:失去 焦点 改变 颜色 BorderBrush | 更新日期: 2023-09-27 18:05:30
我有一个确认密码框与PasswordBox
控制。如果密码在事件中不匹配,我将颜色设置为红色。它会在失去焦点后改变边框颜色。我需要的是在输入密码后立即改变颜色,不要失去焦点。因为它没有绑定到属性,所以我不能在XAML中设置UpdateSourceTrigger
。下面是代码:
private void Confirm_PasswordChanged(object sender, RoutedEventArgs e)
{
if(MiscParameterViewModel.servServiceLoginType == ServiceLoginTypes.Windows)
{
if(!string.Equals(PasswordAgainBox.Password, MiscParameterViewModel.password))
{
PasswordAgainBox.BorderBrush=new SolidColorBrush(Colors.Red);
System.Windows.Controls.ToolTip toolTip = new System.Windows.Controls.ToolTip();
toolTip.Content = "Passwords don't match!";
ToolTipService.SetToolTip(PasswordAgainBox, toolTip);
MiscParameterViewModel.nextButtonIsEnabled = false;
}
}
}
当你这样做的时候呢?
<Border x:Name ="PwBoxBorder" BorderThickness="1" >
<PasswordBox KeyDown="PwBox_OnKeyDown" />
</Border>
如果你设置了PwBoxBorder的颜色
用KeyDown
事件代替PasswordChanged