Sono appena iniziato con M-V-VM e WPF e ho problemi a comprendere alcuni problemi vincolanti.PasswordBox Binding
Ho una pagina di accesso che ha un ComboBox
e un PasswordBox
. Il ComboBox
assomiglia a questo:
<ComboBox Name="comboBox1" SelectedItem="{Binding Path=Username}">
Questo funziona bene - i miei valori vengono aggiornati ogni volta che il SelectedItem
modifiche sul ComboBox
!
Nel mio ViewModel ho un ICommand
che utilizza questo metodo per determinare se il pulsante Login è attiva:
public bool CanLogin()
{
return !string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password);
}
Quindi il mio problema è che non ho la PasswordBox
legata alla proprietà Password sul ViewModel - Quindi non ho modo di dire quando è aggiornato.
Quindi, come posso ottenere il valore di PasswordBox
sul mio ViewModel? Tutto quello che ho appena letto dice che non si associa un PasswordBox
per motivi di sicurezza. Vorrei semplicemente togliere la restrizione della password sul CanLogin() ma ho bisogno che il valore passi ad un AccountService.
Se si esegue il binding della password come stringa (e non SecureString), si espone la password nella memoria del processo. Entrambe le soluzioni fornite compromettono la sicurezza – Rubinsh