2013-08-04 105 views
0

我想處理Windows事件如關閉,SourceInitialized在我的視圖模型。我不想在後面的代碼中處理它們。我怎樣才能做到這一點?手柄主窗口的事件 - 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>