2013-08-04 4 views
0

내 viewModel에서 Closing, SourceInitialized와 같은 Windows 이벤트를 처리하고 싶습니다. 뒤에있는 코드에서 그들을 처리하고 싶지 않습니다. 어떻게해야합니까?ViewModel의 MainWindow 이벤트 처리 - WPF

미리 감사드립니다.

+3

사용 MVVM의 빛'EventToCommand', 또는에'ICommand'을 필요로하는 이벤트를 캡처하고 전달하는 동작을 사용하여 같은 구현 행동. 그런 다음 필요한 이벤트가 발생할 때 동작 내부에있는'Command.Execute'를 발생시켜 그 후에 VM에서 처리 할 수 ​​있습니다. – Viv

+0

제발 좀 자세히 설명해 주실 수 있습니까? – WAQ

+0

매우 비슷한 질문 여기에 : http://stackoverflow.com/questions/2927153/wpf-handling-events-from-user-control-in-view-model –

답변

0

단순히 EventToCommand를 사용하십시오.

뷰 모델 :

public ICommand WindowClosing 

{ 
    get 
    { 
     return new RelayCommand<CancelEventArgs>(
      (args) =>{ 
       }); 
    } 
} 

및 XAML에서

:

<i:Interaction.Triggers> 
    <i:EventTrigger EventName="Closing"> 
     <command:EventToCommand Command="{Binding WindowClosing}" /> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 
관련 문제