Estoy empezando con M-V-VM y WPF y tengo problemas para entender algunos problemas vinculantes.Encuadernación con PasswordBox
Tengo una página de inicio de sesión que tiene un y un PasswordBox
. El ComboBox
se parece a esto:
<ComboBox Name="comboBox1" SelectedItem="{Binding Path=Username}">
Esto funciona muy bien - mis valores se actualizan cada vez que el SelectedItem
cambios en la ComboBox
!
En mi modelo de vista Tengo una ICommand
que utiliza este método para determinar si el botón de inicio de sesión es activa:
public bool CanLogin()
{
return !string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password);
}
Así que mi problema es que no tengo la PasswordBox
unido a la propiedad Password en el modelo de vista - Así que no tengo forma de saber cuándo se actualiza.
Entonces, ¿cómo obtengo el valor de PasswordBox
en mi ViewModel? Todo lo que he leído solo dice no enlazar un PasswordBox
por razones de seguridad. Simplemente eliminaría la restricción de contraseña en CanLogin() pero necesito el valor para pasar a un AccountService.
Si vincula la contraseña como cadena (y no como SecureString), está exponiendo la contraseña en la memoria de su proceso. Ambas soluciones dañan la seguridad – Rubinsh