请教各位大哥,在wpf中 怎么动态调用 winform的dll文件,使其显示,怎么wpf没有想winform里面的panle的面板控件呢?我想把带有winfrom窗体的dll 动态加载到 wpf中  怎么操作呢? 谢谢各位前辈了!

解决方案 »

  1.   

    wpf 里面有 cav  有  grid 等,不用panel.
      

  2.   

    winfrom窗体的dll 动态加载到 wpf中没有试过,既然都是.net, 你可以把winform做到一个类库或者.exe中。wpf中添加这个exe或者dll的引用,using 命名空间。比方说winform中有一个Form1你就可以用 Form1 frm = new Form1(); frm.Show(); 试一下不过winform下有一个消息蹦。再不行,把program.cs里面的代码抄过来,加上Application对象。
      

  3.   

    在WPF中使用WinForm控件,参考:WindowsFormsHost WPF的设计思路是基于流式布局的,不建议使用绝对定位的布局。WPF的布局有:
    Grid:网格布局
    Canvas:绝对布局
    StackPanel:横向/纵向布局
    WrapPanel:自动换行布局
      

  4.   

    额。。  关键的问题是 很上百个dll  需要动态调用
      

  5.   

    不管是winform还是wpf用的都是.net框架,只要版本一致,就不会缺少支持的组件
    现在来讲下具体的引用winform组件的操作
    在WPF项目,添加引用-选项卡.net-找到system.windows.form(用到什么你就引用什么,首先要知道他在哪个组件中,相信这个难不到你),然后在WPF的xaml中(利用WindowsFormsHost来存放winform中的控件)
    xmlns:win="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
    <WindowsFormsHost Name="windowsFormsHost1" Width="200" Height="25" Canvas.Left="365" Canvas.Top="120">
                        <win:DateTimePicker ValueChanged="dt_ValueChanged" x:Name="dt" Width="200" Height="25"></win:DateTimePicker>
     </WindowsFormsHost>
    这样就搞定了