Как разместить приложение Prism WPF на основе DryIoc внутри форм Windows? - PullRequest
0 голосов
/ 19 апреля 2019

Я разработал WPF-приложение на основе Prism с использованием контейнера DryIoc. Теперь я хочу разместить его в приложении для форм Windows, но я не смог выяснить, как разместить это приложение в формах Windows с помощью элемента host.

Класс загрузчика DryIoc определен внутри "Prism.DryIoc.Wpf", поэтому я добавил ссылку в мое приложение winforms, но проблема с этим подходом заключается в том, что при попытке переопределить метод "CreateShell" он возвращает DependencyObject, который я не могуиспользовать в контексте winforms,

защищенную виртуальную System.Windows.DependencyObject CreateShell ();

Есть ли какие-нибудь указатели о том, как заставить его работать?Заранее спасибо.

1 Ответ

0 голосов
/ 29 апреля 2019

Вот способ заставить загрузчик работать.Используйте прагму, чтобы подавить устарелое предупреждение.Надеюсь, это поможет.

Пространство имен XXX {

Прагма предупреждение отключено 0618

public class xxxBootstrapper : DryIocBootstrapper
{
    MainControl mainControl;
    public xxxBootstrapper ()
    {
        base.ConfigureViewModelLocator();
    }
    protected override DependencyObject CreateShell()
    {
        mainControl = new MainControl();
        return mainControl;
    }


    protected override void ConfigureModuleCatalog()
    {
        //Load modules..

        base.ConfigureModuleCatalog();
    }

    public UIElement GetMainControl()
    {
        return (UIElement)mainControl;
    }
}

Прагма предупреждение восстановление 0618

}

...