为了使用Winform控件中的WebBrowser,而WPF窗体不能直接运行WinForm控件,然后在WPF窗体上添加WindowsFormsHost控件,此WindowsFormsHost控件可作为Win From控件运行的容器。
1、首先,我们需要向项目中的引用(reference)中添加两个动态库dll,一个是.NET库中的System.Windows.Forms
,另外一个是WindowsFormsIntegration
;
2、添加完两个动态dll以后,就可以在控件库中找到WindowsFormsHost这个控件;
3、将这个控件放入窗体,放置完以后在xmal代码中会自动生成相应代码:
<Grid>
<WindowsFormsHost Height="100" HorizontalAlignment="Left" Margin="36,29,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="200" />
</Grid>
4、在WPF窗体头部引入 WebBrowser控件命名空间
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
<Grid>
<WindowsFormsHost HorizontalAlignment="Stretch" Margin="15,0,15,5" x:Name="wfHost">
<wf:WebBrowser x:Name="webBrowser" Url="" DocumentCompleted="webBrowser_DocumentCompleted" SizeChanged="webBrowser_SizeChanged"></wf:WebBrowser>
</WindowsFormsHost>
</Grid>
5、完成在WindowsFormsHost下放置控件WebBrowser控件!