Я прочитал несколько статей о том, как использовать Attached Properties для привязки к значению PasswordBox в WPF.Тем не менее, каждая статья также ссылается на документацию .NET, которая объясняет, почему PasswordBox не был привязан в первую очередь.
Я ни в коем случае не считаю себя экспертом по безопасности, но полагаю, что кто-то в Microsoft зналчто они делали, и я не должен был прилагать усилия, пытаясь отменить это.
Итак, вместо этого я придумал свое собственное решение.
public class LoginViewModel
{
// other properties here
public PasswordBox Password
{
get { return m_passwordBox; }
}
// Executed when the Login button is clicked.
private void LoginExecute()
{
var password = Password.SecurePassword;
// do more stuff...
}
}
Затем, вмой XAML, я просто визуализирую PasswordBox, связывая поле Password с ContentPresenter
.
Итак, мой вопрос ... есть ли проблема с этим?Я понимаю, что я как бы ломаю MVVM, позволяя фактическим элементам управления появляться в моей ViewModel, но, по крайней мере, это кажется более правильным, чем просто снятие защиты с поля пароля.
Если это так, вФакт, проблема, кто-нибудь придумал решение, которое не включает использование Attached Properties и сохранение пароля во ViewModel?
Спасибо!-J