ser*_*nko 10
我不知道有任何在线教程这样做; 但它根本不应该是一个大问题.我已经尝试过像这样实现smth并且它对我来说很好,下面是序列,如果我已经完成的步骤:
1.为您的解决方案添加"wpf用户控件"或"wpf自定义控件"库.
2.在新项目中添加一个新的WPF Window类(Add-> Window - > ...).然后将你想要的wpf控件添加到新窗口中,以便检查它是否可以在以后运行
3.添加新的类和库项目的接口,并像下面的示例一样定义它:
[ComVisible(true)]
[Guid("694C1820-04B6-4988-928F-FD858B95C881")]
public interface ITestWPFInterface
{
[DispId(1)]
void TestWPF();
}
[ComVisible(true)]
[Guid("9E5E5FB2-219D-4ee7-AB27-E4DBED8E123F"),
ClassInterface(ClassInterfaceType.None)]
public class TestWPFInterface : ITestWPFInterface
{
public void TestWPF()
{
Window1 form = new Window1();
form.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
4.使您的程序集可见(在项目属性的"构建"选项卡中注册COM互操作密钥)并为其指定一个强名称(请参阅签名选项卡); 使用sn实用程序生成密钥
5.完成以上所有操作后,您将在debug\release文件夹中生成your_wpf_lib.tlb文件
6.在你的c ++应用程序中(我猜你有源代码并且可以重新编译),添加以下行:
导入"C:\ full_path_to_your_tlb\your_wpf_lib.tlb"
这应该在你的win32项目调试输出文件夹中生成适当的tlh文件.
7.现在你可以从c ++代码调用你的表单:
TestWPFForms::ITestWPFInterfacePtr comInterface(__uuidof(TestWPFForms::TestWPFInterface));
comInterface->TestWPF();
Run Code Online (Sandbox Code Playgroud)
这应该显示你的wpf表格.
另外,我相信下面的链接可能对您有用:
希望这有帮助,问候