2009-08-07 2 views
1

Я знаю, что вы не можете привязать к PasswordBox.Password в WPF. Как обрабатывать форму, содержащую одну? Все остальные элементы управления в форме привязаны к свойствам бизнес-объекта, но мне нужно вручную установить и получить свойство пароля всякий раз, когда изменяется вход.Как я могу элегантно обрабатывать PasswordBox в WPF?

Я знаю, что другие создали пользовательские элементы управления, которые позволяют привязывать это свойство, но, с другой стороны, Microsoft явно запрещает привязку к этому свойству по какой-либо причине.

Есть ли какие-либо изящные решения этой проблемы, или я застрял в написании кода, чтобы устранить разрыв между моей формой и моим бизнес-объектом?

ответ

1

Просто привяжите к самому паролю, то есть {Binding ElementName=MyPasswordBox}.

1

Это также повторение this, и там вы можете найти два других подхода: один (в вопросе) с общедоступным свойством PasswordBox на ViewModel (мне не нравится этот подход) и один (в принятом ответе) с обработчиком событий и обработчиком события и свойство SecureString в ViewModel. Это немного «традиционный», но я предпочитаю этот подход вместо написания многих строк кода для привязки пароля с Attached Property. Надеюсь, это поможет.