Witam serdecznie,
Mam problem ze zrozumieniem wzorca MVVM w praktyce. Próbuję zrobić zwykłą stronę logowania.
Utworzyłem folder z Modelem, a w nim dwie klasy. User oraz Repository ze statyczną metodą GetUsers(), która zwraca IEnumerable<User> - chciałem tylko zastąpić czymś dostęp do bazy.
Następnie mój ViewModel ma MainPageViewModel oraz folder z klasą do Commandingu. W MainPageViewModel utworzyłem:
public DelegateCommand Command { get; set; }
W konstruktorze:
Command = new DelegateCommand(CommandAction, CommandCanExecute);
Oraz dwie metody:
private void CommandAction(object obj)
{
//chciałbym zalogować się tutaj
}
private bool CommandCanExecute(object obj)
{
return true;
}
W View w Code-behind ustawiłem tylko kontekst:
DataContext = new MainPageViewModel();
Natomiast w XAMLu, przy Buttonie mam:
Command="{Binding Command}"/>
Jeśli w metodzie CommandAction wpiszę coś do outputa, to wszystko gra. Problem w tym, że nie wiem jak:
- przekazać dane z textboxów do ViewModelu
- czy dobrym rozwiązaniem w ogóle jest Commanding? Nie chciałbym, żeby to działało jak Click(), tylko jak Tapped(). Czy obsługa jakichkolwiek metod powinna odbywać się w widoku? Bo tam są generowane...
Pewnie pytania trywialne, ale dla mnie, jako osoby początkującej, takie nie są.
Liczę na Waszą pomoc.
Pozdrawiam