Ich beginne gerade mit M-V-VM und WPF und habe Probleme, einige Bindungsprobleme zu verstehen.PasswordBox Binding
Ich habe eine Login-Seite, die eine ComboBox
und eine PasswordBox
hat. Die ComboBox
sieht wie folgt aus:
<ComboBox Name="comboBox1" SelectedItem="{Binding Path=Username}">
Das funktioniert ganz gut - meine Werte erhalten aktualisiert jedes Mal die SelectedItem
Änderungen an der ComboBox
!
In meinem Viewmodel Ich habe ein ICommand
, die dieses Verfahren verwendet, um zu bestimmen, ob die Login-Button aktiv ist:
public bool CanLogin()
{
return !string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password);
}
Also mein Problem ist, ich habe nicht die PasswordBox
an die Passwort-Eigenschaft gebunden auf dem Ansichtsmodell - Ich kann also nicht sagen, wann es aktualisiert wird. Wie kann ich den Wert PasswordBox
zu meinem ViewModel bekommen? Alles, was ich gerade gelesen habe, sagt aus Sicherheitsgründen kein PasswordBox
binden. Ich würde einfach die Passwortbeschränkung von CanLogin() entfernen, aber ich brauche den Wert, der an einen AccountService weitergegeben wird.
Wenn Sie das Kennwort als Zeichenfolge (und nicht als SecureString) binden, legen Sie das Kennwort im Arbeitsspeicher Ihres Prozesses offen. Beide Lösungen gefährden die Sicherheit – Rubinsh