static void OnResetPasswordChanged(DependencyObject depObj, DependencyPropertyChangedEventArgs e) { PasswordBoxBehavior behavior = depObj as PasswordBoxBehavior; PasswordBox item = behavior.AssociatedObject as PasswordBox; if (item == null) { return; } if ((bool)e.NewValue) { item.Password = string.Empty; } behavior.ResetPassword = false; }
static void OnTextChanged(DependencyObject depObj, DependencyPropertyChangedEventArgs e) { PasswordBoxBehavior behavior = depObj as PasswordBoxBehavior; PasswordBox item = behavior.AssociatedObject as PasswordBox; if (item == null) { return; } if (item.Password != e.NewValue as string) { item.Password = e.NewValue as string; } if (!behavior.isRoutedEventHandlerAssign) { item.PasswordChanged += (sender, eArg) => { behavior.Text = item.Password; }; behavior.isRoutedEventHandlerAssign = true; } }