在密码箱的某些事件上显示密码字符

我正在开发一个Windows Phone应用程序。我要求用户登录。

在登录页面上,用户必须输入密码。

现在我想要的是我给用户一个复选框,选中后应该显示密码的字符。

我没有在密码框上看到任何显示密码字符的属性。

请建议一些方法来做到这一点。

不要认为PasswordBox是可能的……只是一个想法,但你可以使用隐藏的TextBox完成相同的结果,当用户点击CheckBox时,你只需隐藏PasswordBox并显示TextBox; 如果他再次点击,你再次切换他们的可见性状态,依此类推……

编辑

这是怎么回事!

只需添加一个页面,将ContentPanel更改为StackPanel并添加此XAML代码:

   

接下来,在页面代码上添加以下内容:

 private void ShowPasswordCharsCheckBox_Checked(object sender, RoutedEventArgs e) { MyPasswordBox.Visibility = System.Windows.Visibility.Collapsed; MyTextBox.Visibility = System.Windows.Visibility.Visible; MyTextBox.Focus(); } private void ShowPasswordCharsCheckBox_Unchecked(object sender, RoutedEventArgs e) { MyPasswordBox.Visibility = System.Windows.Visibility.Visible; MyTextBox.Visibility = System.Windows.Visibility.Collapsed; MyPasswordBox.Focus(); } 

这样可以正常工作,但是还有一些工作,你可以完全做到MVVM!

使用默认密码框,无法实现所需的function。

您可以在此处找到更多信息: http : //social.msdn.microsoft.com/Forums/en/wpf/thread/98d0d4d4-1463-481f-b8b1-711119a6ba99

您可以创建自己的inheritance自文本框的控件,但是在每个字符之后用*替换它,将真值存储在页面上的私有变量中。 使用复选框,您可以切换文本框中的值是显示真值还是*值。

它不是一个优雅的解决方案,也不是最佳实践,但我认为如果你愿意接受它,它仍然是一个替代方案。