How to handle events in MVVM

I am new in MVVM. I just learn this pattern and want to use it in my project. I am already understand working principle of this pattern and learned how to use Commands. But I have question how to handle events of another controls for example ListBox SelectionChanged event. ListBox haven't Command attribute

8
задан Polaris 24 August 2010 в 06:46
поделиться

3 ответа

Часто в этом нет необходимости. Например, вы можете просто привязать свойство SelectedItem ListBox к свойству в вашей модели представления:

<ListBox ItemsSource="{Binding Customers}" SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"/>

Это не только дает вам доступ к выбранному клиенту в вашем представлении. модель, он также позволяет вашей модели представления диктовать выбранному клиенту, задавая само свойство.

Есть и другие методы, позволяющие «избежать» прямой обработки событий в коде программной части. Например, привязанное поведение. Однако вам не следует бояться обработки событий напрямую, если код связан исключительно с представлением и упрощает ваш код.

14
ответ дан 5 December 2019 в 12:06
поделиться

Чтобы добавить атрибут команды к вашему элементу управления, он должен быть унаследован от ICommandSource. Посетите этот пост, чтобы узнать, как это достигается.

0
ответ дан 5 December 2019 в 12:06
поделиться

Приложение BookLibraray в составе WPF Application Framework (WAF) показывает, как прослушивать события WPF в разработанном приложении Model-View-ViewModel (MVVM). Это позволяет пользователю выбрать несколько книг, чтобы он мог удалить их все сразу. См. класс BookLibrary.Presentation.Views.BookView.

0
ответ дан 5 December 2019 в 12:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: