如何根据已有的c++程序编写基于c#的WPF界面

看了很多帖子,到最后思路理清就是通过Dll文件进行调用,但是引用的时候提示出错,卡在这一步不能再往下进行,有没有人之前做过类似的工作,能把具体的资料链接发给我呢?万分感激... 看了很多帖子,到最后思路理清 就是通过Dll文件进行调用,但是引用的时候提示出错,卡在这一步不能再往下进行,有没有人之前做过类似的工作,能把具体的资料链接发给我呢?万分感激! 展开
 我来答
广州方讯科技
2015-01-27 · TA获得超过346个赞
知道小有建树答主
回答量:316
采纳率:100%
帮助的人:223万
展开全部
我做过类似的事情,给你一个具体的思路。
1、做好WPF界面控件;
2、借助WPF、WinForm的互操作技术,用WinForm用户控件重新包装一下WPF界面控件(因为WPF控件没有句柄,而WinForm控件有句柄);
3、C++程序中预留一个空的容器控件,用来放置C#WinForm控件;
4、通过C++/CLR创建WinForm控件的实例,并得到句柄;
5、获取C++容器控件的句柄;
6、通过SetParent将WinForm控件添加到C++容器控件中。

还有一种方式是,用WinForm把WPF界面控件包装成COM对象,然后C++调用COM对象即可。
追问
第一种方法需要添加的代码多吗?会不会要把很多函数是实例话?我是新手,目前只想尽快完成任务,麻烦您解答啦
追答
1、代码量不算多,但是用到的技术有WPF、WinForm、C++/CLR,其中C++/CLR是关键性技术,百度一下可以找到相关资料。
2、后一种方式更简单一些,但是COM对象部署麻烦些,需要注册。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式