Ich versuche, den Wert von zwei Texboxes zu bekommen (ich bin ein Login-Fenster zu simulieren), wenn ich eine Taste drücken. Der in der Schaltfläche zugewiesene Befehl wird korrekt ausgelöst, aber ich weiß nicht, wie der Wert der Textfelder für die "Anmeldung" abgerufen werden soll.WPF & MVVM: Get Werte von Textfeldern und sendet es an Ansichtsmodell
Das ist mein Ansichtsmodell:
class LoginViewModel : BaseViewModel
{
public LoginViewModel()
{
}
private DelegateCommand loginCommand;
public ICommand LoginCommand
{
get
{
if (loginCommand == null)
loginCommand = new DelegateCommand(new Action(LoginExecuted),
new Func<bool>(LoginCanExecute));
return loginCommand;
}
}
public bool LoginCanExecute()
{
//Basic strings validation...
return true;
}
public void LoginExecuted()
{
//Do the validation with the Database.
System.Windows.MessageBox.Show("OK");
}
}
Dies ist die Ansicht:
<Grid DataContext="{StaticResource LoginViewModel}">
<TextBox x:Name="LoginTxtBox" HorizontalAlignment="Left" Height="23" Margin="34,62,0,0" Width="154" />
<PasswordBox x:Name="PasswordTxtBox" HorizontalAlignment="Left" Height="23" Margin="34,104,0,0" Width="154"/>
<Button x:Name="btnAccept"
HorizontalAlignment="Left"
Margin="34,153,0,0"
Width="108"
Content="{DynamicResource acceptBtn}" Height="31" BorderThickness="3"
Command="{Binding LoginCommand}"/>
Wenn jemand helfen kann ... Ich werde unendlich dankbar.
So gut !!! Danke, es funktioniert perfekt! –
Obwohl es ein alter Post ist, aber wie erreiche ich die gleiche Funktionalität, wenn ich mehrere E-Mail-Adressen in das Textfeld eingeben muss? In der TextBox Angenommen, ich schreibe so "[email protected], defg @ yahoo.com, test @ gmail.com", dann wie binde ich das an viewmodel – Debhere
@Debhere Sie müssten die E-Mails mit string.Split teilen oder ähnlich, um sie in der VM zu extrahieren. –