我正在尝试在Windows 10通用应用程序中使用PasswordBox
。我面临的问题是,如果我在用户有机会输入之前使用某些文本预先填充PasswordBox
,则不会再显示“显示”按钮。如果我在应用程序运行时填充PasswordBox
,则不会发生这种情况。我也尝试过/不使用推荐的PasswordRevealMode
和已弃用的IsPasswordRevealButtonEnabled
,但没有运气。
这是一个展示问题的小片段:
<StackPanel>
<TextBlock Text="Pre-populated:"/>
<PasswordBox x:Name="PrePopulatedPasswordBox"
PasswordRevealMode="Peek"
Password="123456"
/>
<TextBlock Text="Type to populate"/>
<PasswordBox x:Name="PopulatedWhenRunningPasswordBox"/>
</StackPanel>
我不认为这是预期的行为(据我所知:https://msdn.microsoft.com/en-uS/office/office365/windows.ui.xaml.controls.passwordbox.aspx)
答案 0 :(得分:1)
查看PasswordRevealMode
属性documentation,看起来这是已知行为:
如果PasswordBox失去焦点然后重新获得焦点,则除非清除密码并重新开始输入字符,否则不会再显示“显示”按钮。
由于字段已预先填充,因此除非密码字段发生更改,否则不会显示“显示”按钮。也许这不是最好的行为,但似乎确实按照设计工作了#34;