这个东西的确 比较激动人心
因为wpf毕竟面世不久,很多控件还都没有,比如日期控件,报表控件等等很多,虽然现在wpftoolkit和wpf4.0已经添加很多控件,但是在wpf3.0中如果能使用winform的控件还是很有意义的
主要是使用这个WindowsFormsHost类,
还是wpf的添加winform的控件集引用
然后在xaml页面先添加要使用的winform的控件集
比如这样: xmlns:win="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
然后添加WindowsFormsHost标签,在里面我使用winform的中日期控件
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" >
<win:DateTimePicker Name="dt"></win:DateTimePicker>
</WindowsFormsHost>
在后台这样
DateTimePicker dt = windowsFormsHost1.Child as DateTimePicker;
System.Windows.MessageBox.Show(dt.Text);
这样就得到的winform的日期控件,就可以正常使用了。和winform下一模一样
这样就解决了不少问题,比如报表控件,datagrid控件,太多太多。
总结的大概步骤
1.在wpf项目中添加要用的winform的dll集合引用
2.在xaml页面注册该集合
3.使用WindowsFormsHost 包含winform控件
4.后台使用的时候转换成正确的winform控件
就可以使用了
因为wpf毕竟面世不久,很多控件还都没有,比如日期控件,报表控件等等很多,虽然现在wpftoolkit和wpf4.0已经添加很多控件,但是在wpf3.0中如果能使用winform的控件还是很有意义的
主要是使用这个WindowsFormsHost类,
还是wpf的添加winform的控件集引用
然后在xaml页面先添加要使用的winform的控件集
比如这样: xmlns:win="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
然后添加WindowsFormsHost标签,在里面我使用winform的中日期控件
<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" >
<win:DateTimePicker Name="dt"></win:DateTimePicker>
</WindowsFormsHost>
在后台这样
DateTimePicker dt = windowsFormsHost1.Child as DateTimePicker;
System.Windows.MessageBox.Show(dt.Text);
这样就得到的winform的日期控件,就可以正常使用了。和winform下一模一样
这样就解决了不少问题,比如报表控件,datagrid控件,太多太多。
总结的大概步骤
1.在wpf项目中添加要用的winform的dll集合引用
2.在xaml页面注册该集合
3.使用WindowsFormsHost 包含winform控件
4.后台使用的时候转换成正确的winform控件
就可以使用了
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。