private static void HandlePasswordChanged(object sender, RoutedEventArgs e) { PasswordBox passwordBox = sender as PasswordBox; PasswordBoxAssistant.SetUpdatingPassword(passwordBox, true); if (passwordBox != null) { PasswordBoxAssistant.SetBoundPassword(passwordBox, passwordBox.Password); PasswordBoxAssistant.SetUpdatingPassword(passwordBox, false); } }
private static void OnBoundPasswordChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PasswordBox passwordBox = d as PasswordBox; if (d != null && PasswordBoxAssistant.GetBindPassword(d)) { if (passwordBox != null) { passwordBox.PasswordChanged -= new RoutedEventHandler(PasswordBoxAssistant.HandlePasswordChanged); string password = (string)e.NewValue; if (!PasswordBoxAssistant.GetUpdatingPassword(passwordBox)) { passwordBox.Password = password; } passwordBox.PasswordChanged += new RoutedEventHandler(PasswordBoxAssistant.HandlePasswordChanged); } return; } }