我已经使用DryIoc容器开发了基于Prism的WPF应用程序,现在我想将其托管在Windows窗体应用程序中,但是我找不到如何使用元素宿主在Windows窗体中托管该应用程序。
DryIoc引导程序类是在“ Prism.DryIoc.Wpf”中定义的,因此我在Winforms应用程序中添加了引用,但是这种方法的问题是,当我尝试覆盖“ CreateShell”方法时,它将返回DependencyObject,我可以
不在Winforms上下文中使用受保护的虚拟System.Windows.DependencyObject CreateShell();
有关如何使其工作的任何指针?预先感谢。
答案 0 :(得分:0)
这是使引导程序工作的方法。使用编译指示抑制已过时的警告。希望这会有所帮助。
命名空间XXX {
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;
}
}
}