我有 2 个项目;- 我的应用程序是用 C++ 编写的,其中一些项目文件设置为使用 /clr - 我的 C# WPF 控件库,其中包含一些表单
在 C++ 应用程序中,我从 C# dll 加载表单并将它们显示在 STAThread 中,同时我在后台运行一些其他本机内容。
我想在我的 C++ 应用程序中处理来自 C# 表单的表单事件。这是我启动表单的代码;
using namespace System::Windows;
using namespace System::Windows::Controls;
using namespace MyProject::Interface::Views;
public ref class MyProjectApplication : public Application
{
};
[STAThread]
void ManagedMain()
{
CLILicenseView^ winLicenseAgreement = gcnew CLILicenseView();
MyProjectApplication^ MyProjectCLI = gcnew MyProjectApplication();
MyProjectCLI->Run(winLicenseAgreement);
}
我的原始表单称为“License.xaml”,我尝试继承它并覆盖事件,因为我认为它可能有助于我处理事件,但我不知道我在做什么。
using namespace System;
using namespace System::Windows;
using namespace System::Windows::Controls;
using namespace MyProject::Interface::Views;
namespace MyProject
{
public class CLILicenseView : License
{
public void CLILicenseView()
{
//
}
}
}
这是最好的方法吗?如果不是,我如何处理来自 C++ 应用程序的表单事件(即:按钮点击)?