2013-12-16 1 views
0

Возможно, кто-то может прокомментировать это. У меня есть слабосвязанный взгляд и модель взгляда. Моя модель просмотра должна выполнить некоторую очистку при закрытии представления. Поэтому мне было интересно, что будет лучшим способом уведомить модель представления о том, что ее вид близок к закрытию?Уведомляющая модель вида на закрытии окна

+0

либо помещает 'EventToCommand' в' Window.Close', либо просто обрабатывает событие Window.Close в коде позади и вызывается код ViewModel. –

+0

Я использую приложенное поведение, потому что оно MVVM дружелюбное и сохраняет VM в чистоте; но я признаю, что не все восхищаются пристрастием к поведению или хотят взять на себя ответственность за их реализацию. –

ответ

1

Когда я столкнулся с этой ситуацией, я добавил в XAML x:Code. Это было самое чистое, что я мог придумать.

<x:Code> 
    <![CDATA[ 
    // Indirectly attach ExitCommand to the Window's close button 
    private void Window_Closed(object sender, EventArgs e) 
    { 
     var vm = this.DataContext as MyViewModel; 
     if(vm != null) 
      vm.ExitCommand.Execute(this); 
    } 
    ]]> 
</x:Code> 

Убедитесь включить Closed="Window_Closed" в вашем <Window>.

Смежные вопросы