事件處理概觀
Microsoft Expression Blend 可讓您開發豐富的 Windows 應用程式,以及可與使用者輸入互動的使用者介面 (UI)。例如,若要設定應用程式在啟動動畫時間軸時,讓畫面上的一個球隨著滑鼠移動而移動,您可以利用 Expression Blend 的功能建立這樣的連動關係。您也可以設定應用程式來回應應用程式本身的狀態變更。
注意事項: |
---|
如需有關 Microsoft Silverlight 1.0 事件處理的詳細資訊,請參閱 Silverlight 1.0 概觀及建立可控制 Silverlight 應用程式中腳本的按鈕。另請參閱 Silverlight 指令碼與滑鼠事件 (英文)。 |
在 Expression Blend 應用程式中建立互動功能
Expression Blend 中有兩種方法可讓您使應用程式回應使用者輸入與應用程式變更:
觸發程序 您可以在 [互動] 面板的 [觸發程序] 下設定觸發程序。即使您不知道如何設計或撰寫 XAML 程式碼,也可以設定觸發程序。
當使用者與應用程式中的物件進行互動時,或當這些物件的狀態變更時,都可以使用觸發程序來啟動、停止、暫停、繼續、移除或移至動畫時間軸的結尾。您也可以在狀態變更上設定觸發程序來變更屬性值 (例如背景色彩)。您不需使用程式碼設定觸發程序,一切都可以在 Expression Blend 的 [設計] 檢視中完成。如需詳細資訊,請參閱本使用者指南中的觸發程序概觀與動畫概觀。
注意事項: Silverlight 2 專案不支援觸發程序。
事件處理常式 您可以在 [事件] 面板中設定事件處理常式。(在 [屬性] 面板中,按一下 [事件] 按鈕)。
您可以使用事件處理常式來執行更複雜的程序,而不光是只設定屬性或控制動畫時間軸而已。例如,您可以新增其他程式設計邏輯,例如設定另一個物件的屬性、載入或建立新的文件、使用數學計算製作物件的動畫等。事件處理常式方法以 C# 或 Visual Basic .NET 定義於文件的程式碼後置檔案中。例如,若您的文件名稱為 Window1.xaml,則事件處理常式會根據您使用的程式設計語言而定,而包含在 Window1.xaml.cs 或 Window1.xaml.vb 檔案中。
如需可使用觸發程序或使用事件處理常式方法加以連接之事件的清單,請參閱本使用者指南中的 WPF 事件快速參照。
回到頁首
連接事件處理常式方法
Expression Blend 可對空的方法產生程式碼,以協助您撰寫事件處理常式方法。若您安裝了 Microsoft Visual Studio 2008 Standard Edition 或較新版本,Expression Blend 會在 Visual Studio 2008 中開啟您的專案、開啟程式碼後置的檔案,然後貼入空的事件處理常式方法。若未安裝 Visual Studio 2008 Standard Edition 或較新版本,Expression Blend 將空的事件處理常式方法複製到 [剪貼簿] 上,讓您以手動方式開啟該程式碼後置的檔案,並將其貼入。如需詳細資訊,請參閱本使用者指南中的建立新的事件處理常式方法。
Expression Blend 的設計是以團隊開發為考量。軟體團隊通常由開發 UI 的設計人員及後續撰寫程式碼的程式設計人員所組成。您可能會收到開發人員已修改過的程式碼後置檔案,其中已增加各種事件處理常式方法供您從 UI 連接。您可以在 Expression Blend 中執行這項工作。如需詳細資訊,請參閱連接現有的事件處理常式方法。
回到頁首
程式設計問題
具備 Windows 應用程式的設計經驗有助於撰寫事件處理常式。這是因為 Windows Presentation Foundation (WPF) 執行緒模型和 UI 呈現的時間安排。例如,若您建立的事件處理常式方法會更新 [標籤] 中顯示的文字、執行一些其他計算,然後會在事件處理常式方法完成之前,再次更新相同 [標籤] 中的文字,您將只會看到最新的更新內容。這是因為 UI 會呈現於事件處理常式方法的結尾。所有處理都會在相同的執行緒上完成,如此應用程式即無法在執行您的方法更新 UI 時逾時。若想瞭解如何撰寫具有多個 UI 更新與計算的 WPF 應用程式,請參閱 MSDN 文件庫 之<WPF>一節的執行緒模型 (英文) 主題。
回到頁首