我该如何从代码中重新启动WPF应用程序?在Windows Forms中,有Application.Restart方法,但由于某种原因,Microsoft决定不在WPF中添加该方法。
我讨厌WPF和WindowsForms之间的不兼容性!例如:
window.Visibility = System.Windows.Visibility.Hidden;
有什么问题吗?
window. Visible = false;
我该如何从代码中重新启动WPF应用程序?在Windows Forms中,有Application.Restart方法,但由于某种原因,Microsoft决定不在WPF中添加该方法。
我讨厌WPF和WindowsForms之间的不兼容性!例如:
window.Visibility = System.Windows.Visibility.Hidden;
有什么问题吗?
window. Visible = false;
可见性
对于控件和面板,Visibility.Collapsed
和 Visiblity.Hidden
之间存在巨大的区别。 隐藏保留不可见元素的空间,折叠则释放已使用的空间。这可能会在 UI 中产生很大的差异。
在窗口类的可见性方面使用相同的枚举首先是在类库中保持一致性的问题,但也可能有其他更细微的差异。
重新启动
如果有直接重启应用程序的可能性,我不知道。您可以尝试使用 App.Current.Shutdown()
关闭应用程序,然后通过 System.Diagnostics.Process.Start()
启动新实例,其中应用程序的路径可以从 System.Reflection.Assembly.GetEntryAssembly()
获取。