【问题标题】:How does JavaScript hook WinRT events?JavaScript 如何挂钩 WinRT 事件?
【发布时间】:2011-10-03 00:37:22
【问题描述】:

假设我正在使用 JavaScript 和 C# 代码编写一个 WinRT 应用程序,并且我希望我的 JavaScript 代码在我的 C# 对象上挂钩一个事件。

我知道这应该是可能的,但是那个 JavaScript 代码会是什么样子呢? JavaScript 投影中如何暴露事件(但在 WinRT 中表示 CLR 事件的概念)?

如果一个具体的例子有帮助,假设我的 C# 对象有这个事件:

public event EventHandler Initialized;

如何从 JavaScript 中挂钩该事件?

(我确信答案隐藏在 //build/ videos 之一中,但它们并不完全可搜索。)

【问题讨论】:

    标签: javascript events interop windows-8 windows-runtime


    【解决方案1】:

    一旦您连接了 C# 类并可以从 JavaScript 访问(请参阅C# //Build/ talk 了解详细信息),它应该像这样简单:

    var foo = new CSharpClass();
    foo.addEventListener("Initialized", onInitialized);
    

    然后当 C# 触发事件时,你的 onInitialized 函数将被调用。

    【讨论】:

    • 酷。 JavaScript 方法的签名是什么?它需要 sender 和 EventArgs,还是因为它只是一个没有有效负载的 EventArgs,所以它是无参数的?
    • 它需要 1 个参数,它是一个包含发送者和事件参数的对象。
    • 更多关于 JavaScript 事件的内容可以在 24:00 的 JavaScript //build/ 谈话中看到。 channel9.msdn.com/events/BUILD/BUILD2011/TOOL-533T
    猜你喜欢
    • 2015-06-05
    • 2011-05-16
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多