MFC代码:
char buff[300000];//
……略
     ……略
CWpfWnd^ SysWpfWnd = gcnew CWpfWnd();
SysWpfWnd->wpfwnd->DrawImage(buff);WPF代码:
public void DrawImage(string img)
 {
   
 }结合网上的平台调用类型转换表 StringBuilder,String,  Byte[],  Byte, Char[] 都试了不行,郁闷,所以来找大侠们来了呵呵。

解决方案 »

  1.   

    顶一下,最近也在看wpf,不过还没做到跨平台调用。
      

  2.   

    不知道你看了我的blog没?MFC调用WPF教程。http://blog.csdn.net/muzizongheng/archive/2010/05/07/5565170.aspx
      

  3.   


    我里面有个demo。 你可以download的。 当然我的资源里你也能找到 。具体就是用Marshal。
      

  4.   

    [Quote=引用 5 楼 muzizongheng 的回复:]你的Demo我看过,没有Marshal啊,你记错了吧。哎,我MFC没学几天对底层的机制不是很了解,我这个问题很郁闷,不是传 字符串或数值,传的字符数组,而WPF这边无论什么类型的参数都无法接收……
      

  5.   


    demo是直接调用c#的字段。 你用Marshal, 具体怎么用, msdn。
      

  6.   

    晕了,大哥你还是不明白我的意思,我WPF里面想用Byte[]接收传过来的数据,而MFC里需要把char[]数组传过去,但是类型不匹配,不能把char类型转换成Byte^类型,而我在MFC用Marshal它接收的参数都是托管的数组array(System::Byte),或转String类型的。我想把char[]或char* 转换为array(System::Byte) 也转换不了,具体问题就是这样
      

  7.   


    大哥我很理解你 , Marshal就是负责c++类型和c#类型的转化。你没看。。