从另一个应用程序插件启动WPF窗口

时间:2016-05-25 06:43:54

标签: c# wpf interop autodesk-inventor

我创建了一个Autodesk发明者插件。我有另一个带有wpf窗口的类库。我试图在点击按钮时显示来自插件的wpf窗口。

override protected void ButtonDefinition_OnExecute(NameValueMap context)
    {
        try
        {
            TubesheetTool.MainWindow tsTool = new TubesheetTool.MainWindow();
            tsTool.CADProgram = new InventorCADProgram(InventorApplication, tsTool);
            tsTool.Show();
        }
        catch(Exception e)
        {
            MessageBox.Show(e.Message );
            //HTEventLog.LogError(e, "HTInventorAddIn");
        }
    }

我确信我已添加了所有必需的引用。但是当发明者运行并按下按钮时,我收到此错误:“找不到文件'C:\ language = ENU'” 奇怪的是,使用Visual Studio和interop时,相同的代码运行良好。

由于

1 个答案:

答案 0 :(得分:0)

如果我理解的话,你的WPF窗口是在一个与插件不同的程序集中定义的。我在以前的项目中遇到过这种配置的一些问题。我发现的唯一解决方案是将所有XAML文件放在主程序集中。似乎WPF在加载资源时遇到了一些麻烦。