2015-09-09 3 views
0

Я пытаюсь использовать PasswordBox в своем универсальном приложении Windows 10. Проблема, с которой я столкнулась, заключается в том, что если я предварительно заполняю PasswordBox текстом, прежде чем пользователь сможет его ввести, кнопка обнаружения больше не отображается. Этого не происходит, если я заполняю PasswordBox во время работы приложения. Я также пробовал с/без рекомендованных PasswordRevealMode и устарел IsPasswordRevealButtonEnabled, но не повезло.Повседневное поведение PasswordBox в Windows 10

Это небольшой фрагмент кода, чтобы продемонстрировать проблему:

<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)

+1

О, да, извините ... это опечатка. Спасибо. –

ответ

1

Глядя на PasswordRevealMode свойство documentation, казалось бы, как это известно поведение:

Если PasswordBox теряет фокус, а затем восстанавливает фокусировку, оборот Кнопка eal не отображается снова, если пароль не очищен, и запись символа начинается.

Поскольку поле предварительно заполнено, кнопка обнаружения не будет отображаться, если поле пароля не изменится. Возможно, это не лучшее поведение, но похоже, что он «работает как разработанный».