@abasiuk

Как определить тип события в WPF MVVM?

Например у кнопки формы есть много событий типа Click, DoubleClick, MouseLeave и т. д. В MVVM подходе нельзя использовать события, все построено на командах.. Но как я понял, команда для кнопки это только клик, для текстбокса - изменение содержимого.. Как определить другие события для команд?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C#
Я ничего не понял что вы спросили и для чего текстбоксу команда на изменение содержимого.

Есть действия в приложении, которые во вьюмодели удобно представлять командами, и для которых обычно используются контролы а-ля кнопка (активировали/нажали - запустили команду). Если действия, которые удобно во вьюмодели представлять свойствами, которые затем подвязываются к контролам (например, изменение содержимого текстбокса). Мне кажется вам нужно почитать дальше про биндинги. Ну или переформулировать вопрос, чтобы стало понятно.
Ответ написан
Комментировать
@Melz
Как правило в MVVM фреймфорке есть EventToCommand или надо мучать Blend.
Пишется в кнопке под
Interaction.Triggers
как
EventToCommand Command="{Binding InitializeCommand}" EventName="Loaded"
.
Синтаксис зависит от фреймфорка. Для частых ивентов и биндингов иногда ставят задержку.

<TextBlock Text="{Binding Name, Delay=500}"/>

Параметры передаются через PassEventArgsToCommand (обычные аргументы), но обычно в XAML делается биндинг нужного значения как параметр для команды.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы