绑定到XAML中的Window事件

时间:2012-06-17 14:05:24

标签: wpf xaml mvvm window

我已经阅读了几篇关于如何从属性中获取窗口并在使用MVVM模型时将它们“twoway”绑定在Window XAML中的帖子。但是,作者总是将其保存在后面的代码中

void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    Properties.Settings.Default.Save(); 
} 

我想将MainWindow XAML设置为绑定到保存Properties的类例程。我认为应该有一些像:

WindowClosing="{Binding MyClosingEventRoutine}"

2 个答案:

答案 0 :(得分:3)

您可以使用混合SDK或MVVM Light中的EventTrigger行为。在Window上关闭命令在viewmodel中被调用。

<Window xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity">
<i:Interaction.Triggers>
    <i:EventTrigger EventName="Closing" >
        <i:InvokeCommandAction Command="{Binding MyClosingEventRoutine}" />
    </i:EventTrigger>
</i:Interaction.Triggers>
</Window>

答案 1 :(得分:0)

很难从你的帖子中得知,但我猜你正在做MVVM,因为你不喜欢背后的旧代码?如果是这样,您可以从MVVM框架中获取一些代码来执行命令事件。这将允许您按照以下link

将Windows关闭事件绑定到viewmodel中的命令
相关问题