为了使用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控件!