在C#WebBrowser中运行Silverlight应用程序,如何捕捉在前者上发生的任何鼠标/键盘事件

本文关键字:任何 鼠标 事件 键盘 运行 C#WebBrowser Silverlight 应用程序 何捕捉 | 更新日期: 2023-09-27 18:26:17

我正在使用WebBrowser编写一个C#应用程序来渲染一些网页。在这些网页中,有.xap SilverLight插件。

现在我想捕获Silverlight插件上的鼠标和键盘事件,并在C#应用程序中处理它们。

我试过了,Silverlight中发生的事件似乎没有触发WebBrowser的侦听器。

有什么办法吗?谢谢

在C#WebBrowser中运行Silverlight应用程序,如何捕捉在前者上发生的任何鼠标/键盘事件

您可以使用HTML Bridge

您必须对要从Silverlight传递到Html:的事件进行注释

[ScriptableMemberAttribute]
public event EventHandler SomeEvent;

然后在页面的Html中注册一个可用的对象:

MyStockWatcher m = new MyStockWatcher();
HtmlPage.RegisterScriptableObject("stockwatcher", m);

stockwatcher将在页面上以javascript提供。

通过使用此问题的答案将其传递给C#应用程序:如何在WebBrowser控件中检测javascript执行

通过访问java脚本中的window.external将事件传递给C#。