Po prostu zaczynam od M-V-VM i WPF i mam problemy ze zrozumieniem niektórych wiążących się problemów.Wiązanie PasswordBox
Mam stronę logowania, która ma ComboBox
i PasswordBox
. ComboBox
wygląda następująco:
<ComboBox Name="comboBox1" SelectedItem="{Binding Path=Username}">
Działa to dobrze - moje wartości aktualizowane za każdym razem SelectedItem
zmiany na ComboBox
!
W moim ViewModel Mam ICommand
który wykorzystuje tę metodę w celu ustalenia, czy przycisk jest aktywny Login:
public bool CanLogin()
{
return !string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password);
}
Więc mój problem jest nie mieć PasswordBox
związany z właściwością hasło na ViewModel - więc nie mam sposobu, aby powiedzieć, kiedy jest aktualizowany.
Jak więc uzyskać wartość PasswordBox
dla mojego ViewModel? Wszystko, co przeczytałem po prostu mówi, nie wiąże się ze względów bezpieczeństwa PasswordBox
. Po prostu zdejmę ograniczenie hasła na CanLogin(), ale potrzebuję tej wartości, aby przekazać ją do usługi AccountService.
Jeśli wiążisz hasło jako ciąg (a nie SecureString), ujawniasz hasło w pamięci procesu. Oba rozwiązania kompromitują bezpieczeństwo – Rubinsh