我有一个带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;
}
}
}
答案 0 :(得分:1)
当你这样做的时候?
<Border x:Name ="PwBoxBorder" BorderThickness="1" >
<PasswordBox KeyDown="PwBox_OnKeyDown" />
</Border>
如果您设置了PwBoxBorder的颜色。
答案 1 :(得分:0)
只需使用KeyDown
事件代替PasswordChanged