如何在WindowsForms项目中使用UnityBootStrapper托管WPF Prism应用程序?
我在Windows窗体主机项目中添加了对以下wpf程序集的引用
PresentationCore
PresentationFramework
WindowsBase Ayatem.xaml
WindowsFormsIntegration.dll
Microsoft.Practices.Prism.UnityExtensions
我删除了Prism项目的app.xaml文件。 在win窗体的ElementHost控件中,我试图填充shell但是,它没有加载模块。
//Create the ElementHost control for hosting the WPF UserControl
ElementHost host = new ElementHost();
host.Dock = DockStyle.Fill;
//Create the WPF UserControl.
HelloWorld.Shell uc = new HelloWorld.Shell();
//Assign the WPF UserControl to the ElementHost control's Child property.
host.Child = uc;
//Add the ElementHost control to the form's collection of child controls.
this.Controls.Add(host);
我使用的是hello world sample prism应用程序,截至今天,我的项目只有1个模块。
答案 0 :(得分:0)
以下 Codeplex 讨论解决了与您尝试完成的情况非常类似的情况:
请注意,您需要修改 Prism.Desktop 项目中的 ReionManager的IsInDesignMode() 方法作为修复已使用 Cider 实现已知问题。您只需要更改方法,重建 Prism Library 并将新构建的程序集引用到 WinForm 解决方案中。
我希望这有帮助, 问候。