Как я могу узнать, все ли мои модули загружены в Prism 4? - PullRequest
4 голосов
/ 07 декабря 2011

У меня есть приложение WPF Desktop, использующее PRISM, есть 12 модулей, которые не зависят друг от друга, каждый раз, когда я запускаю оболочку, модули загружаются, дело в том, что я хотел бы знать, какой модуль загружается напоследний, чтобы я мог начать действие.Как я могу это определить?

Ответы [ 2 ]

9 голосов
/ 07 декабря 2011

Переопределить Bootstrapper.InitializeModules, вызвать базу, а затем ДЕЙСТВИЕ!

0 голосов
/ 15 мая 2015

Расширяя ответ erikH (спасибо, кстати), предполагая, что вы наследуете UnityBootstrapper по умолчанию, вот порядок, в котором обычно называются переопределенные методы:

//0
public override void Run(bool runWithDefaultConfiguration)
{
    base.Run(runWithDefaultConfiguration);
    //this is our last opportunity to hook into the PRISM bootstrapping sequence; at this point every very other base-overridden 
    //method has been executed
}

//1
protected override void ConfigureModuleCatalog()
{
    base.ConfigureModuleCatalog();
    ModuleCatalog moduleCatalog = (ModuleCatalog)this.ModuleCatalog;
    //add modules...
}

//2
protected override void ConfigureContainer() 
{
    base.ConfigureContainer();
    //register everything with the container...
}

//3
protected override DependencyObject CreateShell()
{
    return Container.Resolve<ShellView>();      //resolve your root component
}

//4
protected override void InitializeShell()
{
    base.InitializeShell();
    App.Current.MainWindow = (Window)Shell;
    App.Current.MainWindow.Show();
}

//5
protected override void InitializeModules()
{
    base.InitializeModules();
}

Обратите внимание, что это относится к ПРИЗМЕ 4 и 5

...