我一直无法完成这项工作,因为我认为这是 Visual Studio 中的一个小故障,所以如果有人可以尝试这种情况并分享发生了什么,我将非常感激。
我在解决方案 2 项目中进行了设置: - 已启用 CLI 的 C++ 应用程序 (.exe) - C#/WPF 类库,其内部有一个 .xaml 表单和一个匹配的 .cs 窗口类 (.dll)
我想在我的 C++ 应用程序中生成 WPF 窗口,因此我导入它的引用并创建窗口的新实例并在新的应用程序上下文下运行。那很好用。
我现在想在这个窗口之外创建类并处理从 C# 窗口中的受保护函数继承的不同事件,因此在 C++ 程序集中创建一个公共 ref 类,其子类是 .xaml 驱动窗口的 .cs 类。这编译得很好。
IE:
public ref class myCPPWindow : myWPFWindow { ... };
然后,我将生成的窗口更改为位于 C++ 程序集中的父类,而不是位于 C# 程序集中的基类。现在,在加载 .xaml 窗口时,我在 C# 基类的 InitializeComponent() 部分收到一个错误,我需要说它无法从 C# 程序集加载 .xaml 窗口源,即使基类工作。任何人都可以对此给出解释/修复吗?