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:自动换行布局
。。。 --------------------编程问答--------------------
很有道理,以前这样做过。 --------------------编程问答-------------------- 额。。 关键的问题是 很上百个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#