2011-10-03 90 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 –