在MFC中使用WPF(在Win32窗口上Host WPF)

SKJG 2009-04-24 05:03:12
关于在MFC中使用WPF的问题
WPF可以呈现在Win32的窗口上,下面是MSDN中的介绍
http://msdn.microsoft.com/zh-cn/library/ms742522.aspx

那位大哥大姐有没有这方面的经验和建议。
这样做的有没有什么实际的风险。

置于为什么会选择在MFC中使用WPF是因为,我需要基于一个很大的已有项目开发
这个大项目的UI是MFC写的,但是目前需要完成的是一个非常炫丽庞大复杂的UI,使用MFC完成这个任务工作量和代价太大。
所以考虑使用WPF来完成UI部分,当然,也可以在Win32窗口上用其他的炫丽的技术,比如Flash或者直接用网页实现(有几个版本的Norton就是这样实现的)。但是这些方案都不是常规的办法,平时接触较少,不知道这样做会有什么风险和隐患。那位有这方面经验的大哥大姐请不吝赐教。

多谢多谢。
...全文
803 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ms44 2009-05-21
  • 打赏
  • 举报
回复
MFC嵌入WPF,还是WPF中嵌入MFC ,都没有很大的问题。
性能问题不大。
只要你的显卡不是很垃圾基本没有问题。
zhouyongh 2009-04-30
  • 打赏
  • 举报
回复
我现在工作机上没有XP,你机器的配置可以,在你机器都不行的话客户就更完了。
你可以用性能计数器看一下计数,或者截一个Dump看一下CPU在做什么。
.net的垃圾回收会消耗CPU,不过也是到一定厥值才会,不会造成CPU波动。
WPF绘制时构建好DUCE交给DirectX的,没有交互的话应该也不会消耗多少CPU。

我们的程序也是个大家伙,现在看起来在XP上运行的也不错,当然,因为是Managed, 和Native的程序在性能上还稍有不及,不过可以接受。
SKJG 2009-04-28
  • 打赏
  • 举报
回复
http://www.codeguru.com/cpp/cpp/cpp_managed/interop/article.php/c14589

上面的是一个在网上广为流传的Demo

这个Demo在我的计算机上运行,在没有任何的交互下,CPU的使用率在4-6之间变化
CPU占用率有些偏高
性能似乎不是很好

我的计算机的CPU是酷睿2 双核 T7250 内存2G Windows XP SP2 禁用页面文件

不知道是不是我的计算机的配置比较低?
zhouyongh 2009-04-28
  • 打赏
  • 举报
回复
据我的测试WPF的运行速度目前 Windows Vista > Windows 7 > Window XP
这个比较只是相对的 在Windows XP上的性能可以满足你的要求
SKJG 2009-04-27
  • 打赏
  • 举报
回复
我们的平台是Windows XP,不知道WPF在Windows XP上的性能如何?
zhouyongh 2009-04-26
  • 打赏
  • 举报
回复
呵呵 目前就在做WPF Host到Win32中的程序,情况和你的差不多
你这个思路是对的 使用HwndSource,中间用CLI作为托管和非托管之间的桥梁

Host到win32中,Application.Current是null的,也就是说,尽量在WPF中不要使用Application。
其他可能会碰到的问题,比如说多线程,localiztion等,可能有些问题,不过都是可以解决的。
SKJG 2009-04-24
  • 打赏
  • 举报
回复
目前想象的方案是
用WPF做UI(用C#做成控件库,编译为Managed Code)
用C++(MFC)完成和UI无关的部分
用C++/CLI在C++代码和Mangaged Code之间的通信

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧