我有一个由UserControls而不是Windows组成的WPF表单。与Windows不同,UserControls没有UserControl.Close
或UserControl.Closing
。我需要能够在应用程序关闭时运行代码,方法是单击应用程序右上角的熟悉的红色x。有没有人这样做过?请记住,我正在使用MVVM。
以下是该页面的XAML:
<UserControl x:Class="ClassName"
<!--etc..-->
>
<Grid>
<Grid.ColumnDefinitions>
<!--Columns-->
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!--Rows-->
</Grid.RowDefinitions>
<!--WPF Content-->
</Grid>
</UserControl>
答案 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。
希望对你有所帮助。