@romaro

Как быть с PasswordBox в WPF?

У PasswordBox есть свойство Password, которое содержит текущий пароль, но забиндиться к нему невозможно. Я хочу получать пароль в открытом виде (да, я знаю, что это небезопасно). Т.е. работать с PasswordBox, как с TextBox, у которого есть парольная маска.

Один из вариантов решения — определить свойство зависимости. Видимо, это означает, что нужно создать свой контрол. Я пока вижу такой путь:
1) Создаю отдельную сборку для кастомных контролов
2) Определяю в ней класс UnsecurePasswordBox, унаследованный от PasswordBox
3) Добавляю новому контролу свойство зависимости Text
4) Подключаю к XAML пространство имен новой сборки, чтобы можно было добавить тег UnsecurePasswordBox

Проблема в п.3. Я не совсем понимаю, как следует оформлять свойство зависимости Text, чтобы в него помещалась текстовая строка пароля. То есть как перенаправить пользовательский ввод на это поле? Ведь по умолчанию пароль кладется в свойство Password.
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ответы на вопрос 1
phoenixbk
@phoenixbk
Я использовал данный код - https://github.com/grumpydev/hotwire/blob/master/H....
Пример использования:
<PasswordBox
    uiHelpers:PasswordBoxAssistant.BindPassword="True"
    uiHelpers:PasswordBoxAssistant.BoundPassword="{Binding ServerPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы