在PasswordBox中显示密码的好方法

我想知道我有一个人知道如何在PasswordBox中显示密码。 已经读过你可以将文本框绑定到密码箱但不是另一种方法。

如果您希望密码可见,则应使用文本框。 密码框的唯一function是屏蔽输入。 它不提供额外的function。 它还可以在运行时切换文本框和密码框

在PasswordBox控件中没有任何内置属性来显示密码字符。 但我们可以通过TextBox控件在PasswordBox中显示Password。 对于在WPF中具有显示/隐藏function的PasswordBox。 我们将使用两个TextBlock控件,TextBox控件,PasswordBox控件,Image控件

XAML

       

代码背后

 string AppPath = Directory.GetCurrentDirectory(); public MainWindow() { InitializeComponent(); ImgShowHide.Source = new BitmapImage(new Uri(AppPath + "\\img\\clip.jpg")); } private void ImgShowHide_PreviewMouseUp(object sender, MouseButtonEventArgs e) { HidePassword(); } private void ImgShowHide_PreviewMouseDown(object sender, MouseButtonEventArgs e) { ShowPassword(); } private void ImgShowHide_MouseLeave(object sender, MouseEventArgs e) { HidePassword(); } private void txtPasswordbox_PasswordChanged(object sender, RoutedEventArgs e) { if(txtPasswordbox.Password.Length > 0) ImgShowHide.Visibility = Visibility.Visible; else ImgShowHide.Visibility = Visibility.Hidden; } void ShowPassword() { ImgShowHide.Source = new BitmapImage(new Uri(AppPath + "\\img\\cus.jpg")); txtVisiblePasswordbox.Visibility = Visibility.Visible; txtPasswordbox.Visibility = Visibility.Hidden; txtVisiblePasswordbox.Text = txtPasswordbox.Password; } void HidePassword() { ImgShowHide.Source = new BitmapImage(new Uri(AppPath + "\\img\\clip.jpg")); txtVisiblePasswordbox.Visibility = Visibility.Hidden; txtPasswordbox.Visibility = Visibility.Visible; txtPasswordbox.Focus(); }