Привязка событий окна к команде WPF
никак не могу найти способ привязать команду или метод из ViewModel к View, во время события Window_Closing. Мне нужно сохранять данные при закрытии, хотелось бы сделать это не используя code-behind. Пожалуйста помогите.
Ответы (1 шт):
Автор решения: EvgeniyZ
→ Ссылка
Подписка на подобные события делается при помощи EventTrigger.
Добавляем в XAML пространство имен:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"Подписываемся:
<i:Interaction.Triggers> <i:EventTrigger EventName="Closing"> <i:InvokeCommandAction Command="{Binding OnClosingCommand}"/> </i:EventTrigger> </i:Interaction.Triggers>Ну и тестовая команда пусть будет такой:
public ICommand OnClosingCommand { get; } public MainViewModel() { OnClosingCommand = new RelayCommand(Close); } private void Close() { Debugger.Break(); }
Все, после закрытия окна, будет вызван метод Close.