密码盒在Windows 10中的奇怪行为



我正在尝试在我的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失去焦点然后恢复焦点,则显示按钮不会再次显示,除非密码被清除并且字符输入重新开始。

由于该字段是预先填充的,因此除非密码字段更改,否则显示按钮将不会显示。也许这不是最好的行为,但它似乎确实"按设计工作"。

相关内容

  • 没有找到相关文章

最新更新