建立新的事件處理常式方法
處理 Windows Presentation Foundation 或 Silverlight 2 專案時,Microsoft Expression Blend 可以產生空事件處理常式方法的程式碼,協助您開始使用。
注意事項: |
---|
如需有關 Microsoft Silverlight 1.0 事件處理的詳細資訊,請參閱 Silverlight 1.0 概觀及建立可控制 Silverlight 應用程式中腳本的按鈕。另請參閱 Silverlight 指令碼與滑鼠事件 (英文)。 |
如果已安裝 Microsoft Visual Studio 2008 Standard Edition 或更新版本,則 Expression Blend 會在 Visual Studio 2008 中開啟專案,並開啟程式碼後置檔案,然後將它的內容貼到空的事件處理常式方法中。如果未安裝 Visual Studio 2008 Standard Edition 或更新版本,則 Expression Blend 會將空的事件處理常式方法複製至剪貼簿,讓您可以手動開啟程式碼後置檔案並貼入程式碼。
如需有關以程式碼撰寫事件處理常式的詳細資訊,請參閱本使用者指南中的事件處理及使用者互動功能。如需有關在 Expression Blend 應用程式中,不透過程式碼建立互動功能的詳細資訊,請參閱本使用者指南中的觸發程序與使用者互動功能。
建立新的事件處理常式方法
在 Expression Blend 中開啟專案。
在 [專案] 面板的 [檔案] 之下按兩下文件 (例如 Window1.xaml),以開啟文件。會開啟該文件以供您進行編輯。請按一下畫板右邊的 [設計] 索引標籤,確定您處於 [設計] 檢視中。
在 [互動] 面板的 [物件與時間軸] 底下,選取您要連接至現有事件處理常式方法的元素。例如,如果想要在按一下按鈕時移動矩形元素,請選取按鈕元素。會反白顯示元素名稱後面的背景,以顯示已選取該元素。
在 [屬性] 面板中,按一下 [事件] 按鈕。會以字母順序顯示所選取元素的所有可用事件清單。
警告: 如果專案仍然處於臨時狀態,則不會顯示事件。例如,除非按一下 [檔案] 及 [全部儲存],否則會先將剛建立的專案儲存在暫存位置中。儲存專案之後,就能在 [事件] 面板中查看和選取事件。此外,如果您在 [物件與時間軸] 之下同時選取多個物件 (例如,按住 CTRL 鍵以選取多個物件),就不會顯示事件。
秘訣: 若要查看事件的簡短描述,請將滑鼠指標移到事件名稱的上方。此時會出現內含事件描述的工具提示。您也可以在事件快速參照中,看到可用事件及其描述的清單。
尋找想要新增程式設計邏輯的事件。例如,在矩形及按鈕範例中,要尋找的是 MouseDown 事件。
您可以使用兩種方式來產生空的事件處理常式方法:
按兩下事件名稱旁邊的文字方塊。Expression Blend 會產生事件處理常式方法的預設名稱,並將該名稱輸入至文字方塊中,以及產生空白方法的程式碼。
在事件名稱旁邊的文字方塊中輸入名稱,然後按下 ENTER 鍵,或按一下其他任意位置,將焦點移離文字方塊。事件方法名稱的開頭必須是英文字母。如果程式碼後置檔案中還沒有此方法名稱,則 Expression Blend 會為空白方法產生程式碼,並使用您所輸入的名稱。
秘訣: 即使已安裝 Visual Studio 2008,您還是可以設定 Expression Blend 使用剪貼簿。請在 [工具] 功能表上按一下 [選項],然後按一下 [事件處理常式]。在 [編輯經驗] 之下按一下 [只用剪貼簿]。
接著,Expression Blend 會執行下列一項動作:
如果已安裝 Visual Studio 2008 Standard Edition 或更新版本,則 Expression Blend 會在 Visual Studio 2008 中開啟專案,並開啟程式碼後置檔案,然後將它的內容貼到空的事件處理常式方法中。
如果未安裝 Visual Studio 2008 Standard Edition 或更新版本,則 Expression Blend 會將空白事件處理常式方法複製至剪貼簿,並顯示快顯視窗,說明後續可以執行的動作。在此情況下,您可以手動開啟程式碼後置檔案,將方法貼到視窗的類別定義中 (如下所示):
public partial class Window1 { public Window1() { this.InitializeComponent(); // Insert code required on object creation below this point. } private void Button_MouseDown(object sender, RoutedEventArgs e) { } }
注意事項: 如果您已將應用程式 (例如記事本) 對應至 .cs 或 .vb 檔案,則在 [專案] 面板的 [檔案] 之下按兩下程式碼後置檔案的名稱,就可以手動開啟該檔案。Expression Blend 就會在該應用程式中開啟該檔案。
如果未將任何應用程式對應至 .cs 或 .vb 檔案,則 Expression Blend 就無法從外部開啟檔案。若要開啟檔案,請使用 [Windows 檔案總管] 找到該檔案 (或者,如果已在 Expression Blend 中儲存專案,則請按一下 [專案] 功能表上的 [瀏覽專案]),並以滑鼠右鍵按一下想要編輯的 .cs 或 .vb 檔案,接著選取 [開啟檔案],然後選取 [記事本] (或另一種編輯應用程式)。執行此作業之後,就可以從 Expression Blend 的 [專案] 面板中手動開啟程式碼後置檔案。
在開啟程式碼後置檔案並貼入事件處理常式方法後,就可以開始將程式碼新增至方法中。而針對此程序的用途,則可以新增下列紅色的程式碼行,以便在按一下按鈕時顯示訊息方塊:
private void Button_MouseDown(object sender, RoutedEventArgs e) { MessageBox.Show("Hello!"); }
如需程式碼後置檔案的事件處理常式方法範例,請參閱 [歡迎畫面] 中所提供的範例 (按一下 [說明] 功能表上的 [歡迎畫面])。
注意事項: 如果程式碼後置檔案中沒有您在 [事件] 面板中參照的事件處理常式方法,則 Expression Blend 會發出建置錯誤。如果收到這類錯誤,則可以判斷是否是事件處理常式方法名稱的拼寫錯誤,也可以按兩下事件的文字方塊,建立新的空事件處理常式方法。
在 [事件] 面板的文字方塊中刪除或重新命名事件處理常式方法名稱時,Expression Blend 都不會刪除程式碼後置檔案中的原始方法。原因是該事件可能仍然用於他處。如果程式碼後置檔案中定義了 XAML 檔案未參照的事件處理常式方法,就不會接收到建置錯誤。
注意事項: 如果想要從程式碼後置檔案中參照 .xaml 檔案中的元素,則必須在 .xaml 檔案中命名該元素。根據預設,並不會命名您在 Expression Blend 中建立的元素。您可以用滑鼠右鍵按一下元素,然後按一下 [重新命名],在 [互動] 面板的 [物件與時間軸] 下命名該元素。