Я понимаю, что в MVVM:
- Вид знает о ViewModel
- ViewModel знает о модели
- но он не работает вверх, поэтому Model ничего не знает о ViewModel
- и ViewModel ничего не знает о представлении
Итак, , как ViewModel отвечает на действия, которые пользователь делает в представлении, например. введите что-то в TextBox или переместите ползунок и т.д.
-
Я понимаю, что это делается с помощью RoutedEvents, но почти все примеры RoutedEvent, которые я нахожу, используют CodeBehind в представлении, и это именно то, чего у вас больше нет в MVVM.
-
Итак, это оставляет RoutedCommands, который я нахожу больше примеров в MVVM, но, например, перемещение ползунка действительно не является командой в этом смысле, это событие, поэтому мне интересно, действительно ли это то, что следует использовать.
-
Затем я прочитал совет, например:" В MVVM используйте RoutedEvents как можно меньше и нет RoutedCommands. OK.
-
Таким образом, что листья, например. в WPF Model-View-ViewModel Toolkit 0.1 создайте команду WPF самостоятельно, у вас есть " DelegateCommand", который также выглядит интересным способом.
-
Затем некоторые люди также используют " RelayCommand".
Это много вариантов и путаницы для того, чтобы делать что-то такое для разработки приложений.
Как лучше всего сделать в MVVM то, что мы делали в течение последних 10 лет с помощью кода Behind:
- кнопка создания
- кнопка двойного щелчка
- написать код обработки