如何从代码重启WPF应用程序?在Windows窗体中有Application.Restart,无论出于什么原因,Microsoft决定不在WPF中添加此方法。
我讨厌WPF和WindowsForms之间的不兼容性!像:
window.Visibility = System.Windows.Visibility.Hidden;
这有什么问题?
window. Visible = false;
答案 0 :(得分:3)
<强>可见性强>
对于控件和面板,Visibility.Collapsed
和Visiblity.Hidden
之间存在巨大差异。隐藏保留了隐形元素的空间,Collapse释放了已用过的空间。这可以在UI中产生很大的不同。
使用相同的枚举来获得窗口类的可见性首先是IMO在类库中保持一个常量的问题,但可能还会产生一些其他更好的差异。
<强>重新启动强>
如果有可能直接重启应用程序,我不知道。您可以尝试使用App.Current.Shutdown()
来关闭应用并通过System.Diagnostics.Process.Start()
启动新实例,其中应用的路径可以从System.Reflection.Assembly.GetEntryAssembly()
获取。 `。