当我尝试从ArcMap
中的按钮加载项运行使用PRISM的WPF应用程序时,OnClick
事件与初始化一样远和显示Shell.xaml
但是当它试图加载模块和控制的地区,我得到这个错误:从ArcGIS桌面插件按钮运行WPF/PRISM应用程序时出错,无法加载模块
Unable to cast transparent proxy to type 'InnerModuleInfoLoader'
按钮插件具有此为onclick
事件处理程序:
protected override void OnClick()
{
App app = new App();
app.InitializeComponent();
app.Run();
}
在App.xaml.cs
然后运行引导程序OnStartUp
:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Bootstrapper bootstrapper = new Bootstrapper();
bootstrapper.Run();
}
模块被复制到外接的bin\Modules
文件夹:
protected override IModuleCatalog CreateModuleCatalog()
{
var moduleCatalog = new DirectoryModuleCatalog();
moduleCatalog.ModulePath = @".\Modules";
return moduleCatalog;
}
引导程序的Run()
方法竟把初始化和表示外壳:
protected override void InitializeShell()
{
base.InitializeShell();
App.Current.MainWindow = (Window)this.Shell;
App.Current.MainWindow.Show();
}
但是,在试图将模块和控件加载到区域的部分s,我得到那个错误。 WPF应用程序本身运行良好,但是当按钮运行它时,它不会完成。
我不是棱镜专家,只是试图将其作为下一个版本的原型,所以任何帮助将不胜感激。
感谢您分享您的解决方案:) – Anne