在本章裡,由靈會為您介紹Silverlight的事件相關知識和實例。Silverlight使用了事件冒泡的機制,和Web中的JavaScript事件是一樣!每一個控件都可以有自己獨有的事件,本文會為大家介紹常用控件的事件。
先簡單介紹下事件冒泡機制,理解的朋友要以先跳過此節。Silverlight是使用控件套用控件實現的,比如一個button必須在Canvas容器控件內,所以在點擊Button的時候,如果Canvas指定了MouseLeftButtonDown事件,會先執行Button的MouseLeftButtonDown事件,隨後執行Canvas的MouseLeftButtonDown事件。
常規事件的綁定有三種方法可以實現,在此為大家介紹。
1、在XAML的控件標記中添加屬性制定,以屬性="事件的執行名稱"。
<Canvas onLeftButtonDown="leftButtonDown"></Canvas> 2、使用JavaScript的指定。。
_silverlight_control.content.findName("controlName").addEventListener("onLeftButtonDown",functionName); 3、使用MSIL的DLL中綁定(只限於Silverlight1.1以上版本)。。
silverlight_control.MouseLeftButtonDown += new System.Windows.Input.MouseEventHandler(silverlight_control_MouseLeftButtonDown);您可以自定義事件方法,如果想在JavaScript中使用.cs或.vb中聲明托管事件,必須要使用Scriptable標記聲明。
下面我們列出常用的事件列表:
事件名稱 所在控件 說明。
事件名稱 所在控件 說明 Loaded UIElement基類 子控件加載後發生 OnResize System.Windows.Interop.BrowserHost 靜態方法,大小重設是發生 OnFullScreenChange System.Windows.Interop.BrowserHost 靜態方法,全屏改變時發生 MouseLeftButtonDown UIElement基類 鼠標點擊發生 MouseLeftButtonUp UIElement基類 鼠標放開時發生 MouseLeave UIElement基類 鼠標移開時發生 MouseEnter UIElement基類 鼠標經過時發生 DownloadProgre