当前位置:编程学习 > C#/ASP.NET >>

wpf遇到一个问题

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

谢谢各位前辈了! --------------------编程问答-------------------- wpf 里面有 cav  有  grid 等,不用panel. --------------------编程问答-------------------- winfrom窗体的dll 动态加载到 wpf中

没有试过,既然都是.net, 你可以把winform做到一个类库或者.exe中。

wpf中添加这个exe或者dll的引用,using 命名空间。

比方说winform中有一个Form1

你就可以用 Form1 frm = new Form1(); frm.Show(); 试一下

不过winform下有一个消息蹦。再不行,把program.cs里面的代码抄过来,加上Application对象。
--------------------编程问答-------------------- 在WPF中使用WinForm控件,参考:WindowsFormsHost 

WPF的设计思路是基于流式布局的,不建议使用绝对定位的布局。

WPF的布局有:
Grid:网格布局
Canvas:绝对布局
StackPanel:横向/纵向布局
WrapPanel:自动换行布局
。。。 --------------------编程问答--------------------
引用 2 楼 jincaomao 的回复:
winfrom窗体的dll 动态加载到 wpf中

没有试过,既然都是.net, 你可以把winform做到一个类库或者.exe中。

wpf中添加这个exe或者dll的引用,using 命名空间。

比方说winform中有一个Form1

你就可以用 Form1 frm = new Form1(); frm.Show(); 试一下

不过winform下有一个消息蹦。再不行……

很有道理,以前这样做过。 --------------------编程问答-------------------- 额。。  关键的问题是 很上百个dll  需要动态调用 --------------------编程问答-------------------- 不管是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>
这样就搞定了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,