試試看:將動畫新增至按鈕
[SimpleButton] 樣式並不會以動畫顯示其狀態的變更。而是在狀態變更時設定筆刷資源。在 Microsoft Expression Blend 中,從筆刷資源到色彩的過程無法製成動畫。下列程序會示範另一種做法,也就是使用屬性觸發程序來啟動動畫時間軸。
將按鈕製作成動畫
在 Expression Blend 的畫板上繪製一個 [SimpleButton] 物件。
秘訣: [資產] 面板之 [樣式] 類別中的 [簡單樣式] 下,提供可用的簡單樣式控制項。從清單中選取簡單樣式 (Simple Styles) 控制項之後,就可以在畫板上繪製該控制項。
以滑鼠右鍵按一下 [物件與時間軸] 面板中的按鈕,指向 [編輯範本],然後按一下 [編輯目前的項目]。若您不想變更 SimpleStyles.xaml 資源字典,可以按一下 [編輯複本] (而非 [編輯目前的項目]) 以建立新範本,並儲存至文件中。
如需有關建立複本的詳細資訊,請參閱建立資源。
秘訣: 若要結束範本編輯模式並返回您的文件範圍,請在 [物件與時間軸] 面板中的物件樹狀目錄上方,按一下 [將範圍傳回]。
若要返回現有範本的範本編輯模式,請在 [物件與時間軸] 面板中,以滑鼠右鍵按一下要編輯範本的物件,指向 [編輯範本],然後按一下 [編輯目前的項目]。
在控制項範本的編輯範圍中,刪除 [格線] 的 [框線] 子物件。
按兩下 [格線] 物件,使其成為使用中狀態,以便新增子物件。
在格線中繪製 [矩形]。
以滑鼠右鍵按一下 [矩形] 物件,指向 [順序],然後按一下 [移到最下層],將矩形物件放在 [ContentPresenter] 物件的後一層。
在 [屬性] 面板的 [筆刷] 下,為矩形的 [Fill] 屬性設定新的值。這將會成為按鈕的預設色彩。
秘訣: 原始範本的 [框線] 子物件使用範本繫結,將範本的 [Fill] 屬性繫結至套用此範本之控制項的 [Background] 屬性。您可以使用範本繫結將物件屬性帶到範本中,因而可讓您建立具有不同背景色彩,但仍然使用相同範本的多個按鈕。然而,從範本繫結屬性至特定色彩的過程無法製成動畫,這也是在範本中為 [Fill] 屬性設定預設色彩的原因。
在 [觸發程序] 面板中按一下 [IsMouseOver = True] 觸發程序,以啟用觸發程序錄製功能。然後,在 [啟用時的動作] 旁,按一下 [新增動作],以新增動畫時間軸。若滑鼠指標從按鈕上移過時,您尚無要觸發的時間軸,則螢幕會顯示 [需要時間軸] 視窗。按一下 [確定],以建立新的時間軸並開始錄製。
秘訣: 您可能需要調整 [觸發程序] 面板中的視窗,才能看到所有的觸發程序和動作。請使用滑鼠來調整視窗的大小。
在 [物件與時間軸] 面板中,將播放點 移至 1 秒,然後在 [屬性] 面板中的 [筆刷] 下,為 [Fill] 屬性設定新的值。
[Fill] 屬性變更後,時間軸上就會出現一個主要畫面格 。您不必在 0 秒上設定主要畫面格。滑鼠指標移過按鈕時,時間軸會將上一個填滿到 1 秒上所設定的填滿製作成動畫。
在 [觸發程序] 面板中,再按一下 [IsMouseOver = True] 觸發程序,以結束動畫時間軸並返回觸發程序的錄製模式。按一下 [停用時的動作] 旁的 [新增動作] 。建立或選取滑鼠指標移開按鈕時將執行的動畫時間軸。例如,您可以使用上一個時間軸,但對時間軸選取 [停止] 方法。
如有需要,您可以在 [觸發程序] 面板中為其他狀態建立動畫時間軸。
測試您的應用程式 (F5) 以查看效果。