2013-08-04 69 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>