2011-10-03 93 views
5

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

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

如果一个具体的例子会有所帮助,让我们说我的C#对象有此事件:

public event EventHandler Initialized; 

如何从挂钩的JavaScript事件?

(我敢肯定的答案埋在//build/ videos之一,但他们不完全搜索。)

回答

7

一旦你有你的C#类从JavaScript迷上了和访问(见C# //Build/ talk了解详细信息) ,它应该如此简单:

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

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

+0

很酷。 JavaScript方法的签名是什么?它是否需要发件人和EventArgs,还是无参数的,因为它只是一个没有负载的EventArgs? –

+0

它需要1个参数,它是包含发件人和事件参数的对象。 –

+0

有关JavaScript事件的更多内容可以在24:00在JavaScript // build/talk中看到。 http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-533T –