在非 Prism WPF 应用程序中,如果我想在初始化后运行代码(例如执行命令行参数指定的任务),我可以在主窗口的 Loaded
事件中进行。但是在 Prism 中,模块是在主窗口显示后初始化的,即在 IModule.Initialize()
和 Bootstrapper.CreateShell()
之后调用 Bootstrapper.InitializeShell()
。在这种情况下,我应该使用哪个事件/覆盖?
最佳答案
UnityBootstrapper.Run(bool runWithDefaultConfiguration)
调用的最后一件事是 InitializeModules()
(除了对 Logger.Log 的调用)。所以覆盖 Run(...)。
class Bootstrapper : UnityBootstrapper
{
...
public override void Run(bool runWithDefaultConfiguration)
{
base.Run(runWithDefaultConfiguration);
// modules (and everything else) have been initialized when you get here
}
}
关于wpf - 在 WPF/Prism 应用程序中完成初始化时的事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10466304/