在WPF中使用WinForm控件方法
1、 首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll。
2、 在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
3、 在WPF的容器控件内如StackPanel内首先要添加WinForm控件的宿主容器,用于衔接WPF和WinForm.
对应XAML如下:
<StackPanel>
<wfi:WindowsFormsHost>
<wf:Label x:Name="wfLabel" Text="winForm控件在此" />
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost>
<wf:Button x:Name="wfButton" Text="确定" Click="wfButton_Click" />
</wfi:WindowsFormsHost>
<Button Content="Button" Margin="10" Name="button1"/>
</StackPanel>
4、 如果要在WPF后台代码中访问上面的Lable,可直接像在WinForm中使用一样。如在点击某一按钮时改变Lable内容,代码如下:wpfLabel.Text=”内容已改变”;
在WinForm中使用WPF控件方法
1、 首先添加对WPF所需的程序集,
2、 在项目中新建一个用户控件或引用一个用户控件.
3、 重新生成项目,将 工具箱自动生成的WPF 控件拖入Winform中
3、 在WinForm后台代码可修改对应的WPF控件.
4、 Demo效果