如何在Windows窗体内托管基于DryIoc的Prism WPF应用程序?

时间:2019-04-19 11:01:33

标签: wpf prism dryioc

我已经使用DryIoc容器开发了基于Prism的WPF应用程序,现在我想将其托管在Windows窗体应用程序中,但是我找不到如何使用元素宿主在Windows窗体中托管该应用程序。

DryIoc引导程序类是在“ Prism.DryIoc.Wpf”中定义的,因此我在Winforms应用程序中添加了引用,但是这种方法的问题是,当我尝试覆盖“ CreateShell”方法时,它将返回DependencyObject,我可以

不在Winforms上下文中使用

受保护的虚拟System.Windows.DependencyObject CreateShell();

有关如何使其工作的任何指针?预先感谢。

1 个答案:

答案 0 :(得分:0)

这是使引导程序工作的方法。使用编译指示抑制已过时的警告。希望这会有所帮助。

命名空间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

}