我正在尝试在我的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)
查看PasswordRevealMode
属性文档,似乎这是已知的行为:
如果PasswordBox失去焦点然后恢复焦点,则显示按钮不会再次显示,除非密码被清除并且字符输入重新开始。
由于该字段是预先填充的,因此除非密码字段更改,否则显示按钮将不会显示。也许这不是最好的行为,但它似乎确实"按设计工作"。