我已经阅读了几篇关于如何从属性中获取窗口并在使用MVVM模型时将它们“twoway”绑定在Window XAML中的帖子。但是,作者总是将其保存在后面的代码中
void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
Properties.Settings.Default.Save();
}
我想将MainWindow XAML设置为绑定到保存Properties的类例程。我认为应该有一些像:
WindowClosing="{Binding MyClosingEventRoutine}"
答案 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中的命令