我想在WPF应用程序中嵌入一个webbrowser。浏览器应该看起来像普通的浏览器,带有地址栏,后退和前进按钮以及状态栏。有没有一种方法可以轻松地在XAML中编写,将地址直接数据绑定到文本框,从按钮到webbrowser对象的事件直接路由,以及启用后退?
答案 0 :(得分:0)
为什么不呢? Here和here会从我们的应用程序中上传一些屏幕截图,其中包含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应用程序中从浏览器发布了这个答案。祝好运!