XAML - 在WPF表单关闭时运行代码

时间:2012-05-23 12:50:15

标签: wpf xaml

我有一个由UserControls而不是Windows组成的WPF表单。与Windows不同,UserControls没有UserControl.CloseUserControl.Closing。我需要能够在应用程序关闭时运行代码,方法是单击应用程序右上角的熟悉的红色x。有没有人这样做过?请记住,我正在使用MVVM。

以下是该页面的XAML:

<UserControl x:Class="ClassName"
             <!--etc..-->
             >
    <Grid>
        <Grid.ColumnDefinitions>
            <!--Columns-->
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <!--Rows-->
        </Grid.RowDefinitions>
        <!--WPF Content-->
    </Grid>
</UserControl>

2 个答案:

答案 0 :(得分:1)

usercontrol没有关闭和关闭事件。因此你可以使用卸载但卸载不会自动解雇

配置usercontrols阅读下面的文章。

http://geekswithblogs.net/cskardon/archive/2008/06/23/dispose-of-a-wpf-usercontrol-ish.aspx

答案 1 :(得分:0)

你没有窗户吗?怎么可能?你是在屏幕外创建的吗?

嗯,你显然不能完全在XAML中完成它,但是如果你想在关闭你的申请之前获得通知那么Application.Exit怎么样。如果您需要可拦截且可取消的解决方案,可以使用主窗口上的Closing(如果有)。当然Closed事件也是一个解决方案。最后但并非最不重要的是,您的用户控件上有Unloaded event

希望对你有所帮助。