在 WPF 控制項中新增或移除觸發程序
您可以使用「觸發程序」 ** 啟動及停止動畫時間軸,或變更物件的屬性。觸發程序有兩種:
屬性觸發程序 變更一個屬性 (如 IsPressed 屬性) 而觸發另一個屬性發生立即性的變更,或透過動畫時間軸而觸發逐步變更之作業,所依據的機制。屬性觸發程序可以設定在控制項的樣式或範本中。
如需在通用控制項簡單樣式中設定屬性觸發程序的範例,請參閱WPF 簡單樣式的樣式提示下的主題。
事件觸發程序 事件 (如滑鼠 Click 事件) 觸發動畫時間軸時,所依據的機制。事件觸發程序可以設定於畫板的任何物件上、控制項的樣式或範本中、使用者控制項中或文件根元素中。
如需在通用控制項簡單樣式中設定事件觸發程序的範例,請參閱WPF 簡單樣式的樣式提示下的主題。
如需詳細資訊,請參閱使用觸發程序定義 WPF 控制項的行為。
注意: |
---|
新增觸發程序時,其範圍等同於該觸發程序所操縱的動畫時間軸。例如,您無法在主文件的編輯範圍內,設定觸發程序來啟動控制項範本中的按鈕動畫時間軸,即使按鈕在該文件中亦然。不過,您可以在控制項範本內設定觸發程序,啟動該控制項範本中的動畫。對於文件新增的使用者控制項中所包含的動畫,此原理同樣適用。 |
新增屬性觸發程序
在 [物件與時間軸] 面板中,選取想要修改樣式或範本的控制項。
在 [物件] 功能表上,執行下列一項動作:
若要編輯控制項的樣式,請指向 [編輯樣式],然後按一下 [編輯複本]。
若要編輯控制項的範本,請指向 [編輯範本],然後按一下 [編輯複本]。
[建立樣式資源] 對話方塊隨即出現。
如需有關樣式及範本的詳細資訊,以及兩者的對照表,請參閱選擇及使用互動式控制項的<樣式與範本>一節。
按一下 [確定] 結束對話方塊,並開啟樣式或範本進行編輯。
注意: 可以進一步簡化此程序,只著重在設定屬性觸發程序。如需有關樣式與範本之差異的詳細資訊,請參閱選擇及使用互動式控制項的<樣式與範本>一節。如需有關 [建立樣式資源] 對話方塊中選項的詳細資訊,請參閱建立樣式與建立或修改範本。
在 [觸發程序] 面板中,可能已經有一些針對控制項狀態 (如 IsEnabled=True ) 設定的屬性觸發程序。如果看不到觸發程序適用的狀態,請按一下 [新增屬性觸發程序] 。
預設屬性觸發程序 ( MinWidth=0 ) 會新增至清單中,並會加以選取以進行編輯。另外,畫板也會進入觸發程序的錄製模式。
按一下 [啟用時程] 下的下拉式箭號,修改會啟用觸發程序的屬性與值。例如,如果修改的是 CheckBox 控制項的範本,則可選取 target-element.IsChecked=true ,以在選取核取方塊時啟用此觸發程序。
您現在可以指定啟用觸發程序時所要執行的動作。
注意: 如果要將屬性從 target-element 變更為範本中的元素名稱,則需要先在 [物件與時間軸] 面板中選取元素。
若要在啟用觸發程序時變更屬性,請在 [物件與時間軸] 面板中選取物件,然後變更 [屬性] 面板中的屬性。因為您是處於觸發程序的錄製模式中,所以這才會有作用。
屬性變更會出現在 [使用時的屬性] 下。
若要控制啟用觸發程序時的動畫時間軸,請按一下 [啟用時的動作] 旁的 [新增動作] 。
如果沒有可供選擇的現有動畫時間軸,則會開啟 [需要時間軸] 對話方塊,詢問您是否要建立新的時間軸。請按一下 [確定],然後設定主要畫面格並修改物件,以建立動畫。
如果有可供選擇的現有動畫時間軸,則會出現下拉式清單,內含時間軸及建立新時間軸的選項。
時間軸會出現在 [啟用時的動作] 下,並設為 [Begin]。
若要結束樣式或範本的編輯範圍,請按一下 [將範圍傳回] 。按 F5 執行應用程式,以測試新的觸發程序。
新增事件觸發程序
在 [物件與時間軸] 面板中,選取互動時會啟用觸發程序的物件。例如,若要在使用者將指標移至文字方塊上時啟用觸發程序,請選取文字方塊。
在 [觸發程序] 面板中,按一下 [新增事件觸發程序] 。
- 隨即會新增預設觸發程序 ( When Window.Loaded is raised )。
按一下下拉式箭號,修改啟用觸發程序的事件。例如,若要在使用者將指標移至文字方塊上時啟用觸發程序,請將 When Window.Loaded is raised 變更為 When textBox.MouseMove is raised 。
注意: 如果要將事件從 Window 變更為範本中的元素名稱,則需要先在 [物件與時間軸] 面板中選取元素。
若要控制啟用觸發程序時的動畫時間軸,請按一下 When checkBox.MouseMove is raised 旁的 [新增動作] 。
如果沒有可供選擇的現有動畫時間軸,則會開啟 [需要時間軸] 對話方塊,詢問您是否要建立新的時間軸。請按一下 [確定],然後設定主要畫面格並修改物件,以建立動畫。
如果有可供選擇的現有動畫時間軸,則會出現下拉式清單,內含時間軸及建立新時間軸的選項。
時間軸會出現在 When checkBox.MouseMove is raised 下,並設為 Begin 。
按 F5 執行應用程式,以測試新的觸發程序。
移除觸發程序
在 [觸發程序] 面板中,選取想要移除的觸發程序。
注意: 如果想要移除的觸發程序是在樣式或控制項範本中,請確定您是處於該樣式或範本的編輯模式。
按一下 [刪除觸發程序] 。
隨即會從清單中移除觸發程序。
Copyright © 2011 by Microsoft Corporation. All rights reserved.