WPF浏览器控件dom更改事件

本文关键字:事件 dom 浏览器 控件 WPF | 更新日期: 2023-09-27 18:09:23

我正试图找到一种方法来检测我的WebBrowser控件中的dom是否发生了变化。是否有一种方法来检测此事件处理程序?可选的是,是否有一种方法可以让javascript事件处理程序触发c#事件?我想要完成的是建立一个ThumbnailToolBarButton,根据网页中元素的状态改变图标…特别是播放/暂停按钮。如果用户直接单击按钮,我可以轻松切换按钮,但如果用户单击WebBrowser控件中的暂停/播放按钮,我想检测并切换按钮。这样,无论用户单击哪个按钮,它都保持同步。谢谢。

WPF浏览器控件dom更改事件

听起来您需要的是某种从浏览器内返回到c#环境的通信方式。

WebBrowser控件有一个有趣的属性叫做ObjectForScripting。基本上,您可以使用任何"com可见"对象,并允许浏览器内的JavaScript环境对其调用方法。一旦设置了属性,对象就可以用window.external从JavaScript访问。

要使一个类com可见,只需在类声明的上方添加[ComVisible(true)]。