使用地址栏+按钮在WPF表单中嵌入Webbrowser

时间:2011-04-04 21:29:57

标签: wpf xaml data-binding event-handling browser

我想在WPF应用程序中嵌入一个webbrowser。浏览器应该看起来像普通的浏览器,带有地址栏,后退和前进按钮以及状态栏。有没有一种方法可以轻松地在XAML中编写,将地址直接数据绑定到文本框,从按钮到webbrowser对象的事件直接路由,以及启用后退?

1 个答案:

答案 0 :(得分:0)

为什么不呢? Herehere会从我们的应用程序中上传一些屏幕截图,其中包含WebModule,并且能够像浏览器一样工作。

在我们的实现中,我们使用Windows Forms WebBrowser控件作为浏览器引擎,使用MVVM作为通信模式。模型具有引发适当事件的导航命令(前进,后退,......)。 View正在处理此事件并将请求的操作委托给内部WebBrowser组件。另外,view正在处理WebBrowser的事件(NewWindow,DocumentCompleted,Navigating,Navigated)和设置模型的状态。

模型和视图一起包含大约500行代码(我认为不是很多,是吗?)。

当然,我应该提一下,由于使用IE引擎,这个浏览器可能会在复杂的网站上遇到一些问题。

P.S。我们没有使用System.Windows.Controls.WebBrowser,因为它不提供对NewWindow事件的访问。

P.P.S。我在WPF应用程序中从浏览器发布了这个答案。祝好运!