MVVM Light Toolkit содержит поведение под названием EventToCommand, которое дает вам простой способ привязать команду к событию.
В следующем фрагменте XAML показан пример того, как получить команду с именем «CloseCommand» для выполнения при возникновении события Closed окна:
<Window x:Class="EventToCommand.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF4"
Title="MainWindow" Height="300" Width="500">
<!-- Make sure to put this tag directly inside the Window,
and not inside a child element, since it is the Windows that has the Closed event -->
<i:Interaction.Triggers>
<i:EventTrigger EventName="Closed">
<cmd:EventToCommand Command="{Binding CloseCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<!-- Windows contents -->
</Window>
Чтобы получить доступ к поведению EventToCommand, вам необходимо скачать MVVM Light Toolkit со страницы загрузки проекта , а затем обратиться к следующим библиотекам DLL:
- GalaSoft.MvvmLight.dll
- GalaSoft.MvvmLight.Extras.dll
- System.Windows.Interactivity.dll
Это все, что нужно.
Дополнительные инструкции по началу работы с инструментарием можно найти здесь .