【发布时间】:2014-06-06 22:07:01
【问题描述】:
我今天遇到了问题,在尝试解决它时发现 WPF 中有一些奇怪的地方。
要查看问题,请创建新的 WPF 应用程序,添加按钮和单击事件:
private void Button_Click(object sender, RoutedEventArgs e)
{
var window = new MainWindow();
}
启动应用程序并在不单击按钮的情况下关闭它。
启动应用程序,单击按钮并关闭它 - 不起作用。
应用程序将留在内存中。几个月前我有similar issue,但如果我使用它的解决方案,就会发生另一件奇怪的事情:退出应用程序时,Window.Closed 事件被触发,因为一个从未显示的窗口。
问题:WPF 在实例化窗口时做了什么?为什么我不能像任何其他类一样简单地实例化它?我必须始终显示它吗?
【问题讨论】:
-
对不起,我误解了您想要完成的任务。您是否尝试创建一个窗口,然后在关闭主/外部窗口时自动销毁它?
-
@rae1,有点像。我不在乎窗口会发生什么,我只需要它的实例(它将加载 xaml,初始化所有内容等),以便我可以使用它。但我根本不想显示窗口。