如何重新启动WPF应用程序?

时间:2010-09-03 09:20:52

标签: wpf

如何从代码重启WPF应用程序?在Windows窗体中有Application.Restart,无论出于什么原因,Microsoft决定不在WPF中添加此方法。

我讨厌WPF和WindowsForms之间的不兼容性!像:

            window.Visibility = System.Windows.Visibility.Hidden;

这有什么问题?

            window. Visible = false;

1 个答案:

答案 0 :(得分:3)

<强>可见性

对于控件和面板,Visibility.CollapsedVisiblity.Hidden之间存在巨大差异。隐藏保留了隐形元素的空间,Collapse释放了已用过的空间。这可以在UI中产生很大的不同。

使用相同的枚举来获得窗口类的可见性首先是IMO在类库中保持一个常量的问题,但可能还会产生一些其他更好的差异。

<强>重新启动

如果有可能直接重启应用程序,我不知道。您可以尝试使用App.Current.Shutdown()来关闭应用并通过System.Diagnostics.Process.Start()启动新实例,其中应用的路径可以从System.Reflection.Assembly.GetEntryAssembly()获取。 `。