C# · 12月 23, 2021

c# – 只有在加载了所有模块后才能显示shell吗?

我目前正在开发一个使用PRISM 4在不同模块中划分其功能的应用程序.

我注意到我的应用程序的Shell在模块加载之前加载并显示了模块在其区域中的视图.

这意味着首先显示Shell,并且稍后(大约半秒)显示Shell,加载模块并将视图插入Shell的区域.这是相当烦人的,因为用户在启动时遇到空壳,这不是很专业.

有没有办法检测何时加载了所有模块?我可以在引导程序中覆盖的任何方法?

如果可以,我想隐藏Shell(或显示加载装饰器),直到所有模块都已加载.

解决方法 初始化模块后,您可以显示Shell视图: protected override void InitializeShell(){ Application.Current.MainWindow = (Window)Container.Resolve<ShellView>();}protected override void InitializeModules(){ base.InitializeModules(); Application.Current.MainWindow.Show();}