建立或修改範本
控制項的外觀是由套用至畫板上控制項的範本決定。範本中包含控制項內含的物件。例如, TextBox 的控制項範本包含名為 [Bd] 的 Border 物件,而此物件又包含名為 [PART_ContentHost] 的 ScrollViewer 物件。當控制項範本套用到畫板上的 TextBox 時, ScrollViewer 物件就會顯示 TextBox 的內容。
系統控制項的預設範本使用動態佈景主題,這種主題會根據您的應用程式是在哪個 Windows 版本上執行來變更控制項的外觀。不過,如果修改系統控制項的範本,則控制項在所有版本的外觀都會相同。
如需詳細資訊,請參閱設定支援範本之控制項的樣式中的<佈景主題>一節。
控制項範本是儲存為可套用至同類型之其他控制項的資源。
建立控制項範本
在 [物件與時間軸] 面板中或在畫板上,選取要建立之控制項範本的來源物件,並執行下列一項動作:
在 [物件] 功能表上,指向 [編輯範本]。
以滑鼠右鍵按一下物件,然後指向 [編輯範本]。
在畫板頂端的階層連結列中,按一下物件的名稱。
在出現的下拉式功能表中,執行下列一項動作:
若要建立新的空白範本,請按一下 [建立空白]。
若要根據已選取的物件目前所使用的範本 (不管是物件的預設範本或是先前建立的自訂範本) 建立新範本,請按一下 [編輯複本]。
注意:
如果 [編輯目前的項目] 選項呈啟用狀態,表示此物件已經套用範本。您也可以選擇是否要編輯此範本。
[建立樣式資源] 對話方塊隨即出現。這是因為控制項範本是儲存於樣式資源中。
在 [名稱 (索引碼)] 下,執行下列一項動作:
若要為物件建立新的具名樣式,請輸入索引碼名稱。其他物件可透過這個名稱來參照樣式,從而套用範本。
若要建立此類型之所有物件所用的樣式,請選取 [全部套用]。
秘訣:
在即將建立之樣式物件的 XAML 中,名為 TargetType 的屬性會設為您要建立樣式之物件的類型。
只有在您輸入索引碼名稱 (此步驟第一個選項) 時,才會設定 x:Key 屬性。 x:Key 屬性的存在只允許樣式套用至依索引碼名稱指定樣式的物件。若無 x:Key 屬性,則樣式可套用至此類型的所有物件。例如,下列程式碼範例中的樣式物件不會套用至畫板上的所有按鈕。
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"...
在 [定義於] 之下,選取要用以定義樣式的選項:
若要使樣式可供應用程式中的任何文件使用,請選取 [應用程式]。
若只要讓目前的文件使用樣式,請選取 [此文件],並從下拉式功能表選擇選項。
若要在可於其他專案中重複使用的資源字典檔中定義樣式,請選取 [資源字典]。您可以接著選取現有的資源字典檔,或按一下 [新增] 建立新的資源字典檔。
按一下 [確定],結束對話方塊並開啟樣式以進行編輯。
秘訣:
您可以在樣式內有效地建立新的範本資源。此資源會成為本機資源,而且可以使用 [資源] 面板中的 [編輯資源] 按鈕輕鬆進行檢視與修改。
注意畫板頂端的 Microsoft Expression Blend 階層連結列。
已選取範本編輯模式的階層連結列
您可以按一下階層連結列上的按鈕,快速在範本編輯模式、樣式編輯模式及選取物件的物件編輯範圍之間移動。任何套用自訂樣式或範本的所選物件,都會出現階層連結列。
新增或重新排列子物件來修改範本。
您可以執行下列一項動作,根據使用者互動的結果來變更物件的外觀或行為:
如果您正在使用 Windows Presentation Foundation (WPF) 專案,請選取 [觸發程序] 面板中的觸發程序,開啟觸發程序錄製功能,然後變更範本中的物件。如果需要的觸發程序不存在,您可以建立新的觸發程序。例如,若要建立觸發程序來處理按一下 Button 物件的動作,請按一下 [新增屬性觸發程序],將觸發程序設為 IsPressed=True ,再選取新的觸發程序,然後進行變更。
如需觸發程序的詳細資訊,請參閱使用觸發程序定義 WPF 控制項的行為。
如需詳細資訊,請參閱 WPF 簡單樣式的樣式提示。
警告:
變更控制項範本的某些特性可能會破壞控制項的功能。
如需相關指導,請參閱設定支援範本之控制項的樣式 中的<最佳作法>。
如果您正在使用 Microsoft Silverlight 專案,請選取 [狀態] 面板中的狀態,開啟狀態錄製功能,然後變更範本中的物件。如果物件的類型支援組件,您可以將範本的組件指派給不同物件。例如,您可以匯入圖案作為 Image 物件,然後將新物件轉換成範本的組件。狀態會使用範本組件,根據使用者互動來變更物件的外觀。
如需詳細資訊,請參閱設定 Silverlight 控制項範本的組件樣式與一般 Silverlight 控制項的樣式提示。
若要在物件中新增其他互動功能,可以在 [狀態] 面板中建立新狀態,然後使用 GoToStateAction 行為,以根據事件在狀態間變更。
如需詳細資訊,請參閱定義控制項的不同視覺狀態。
您可以撰寫為了回應事件而執行的程式碼。在 [屬性] 面板的 [事件] 檢視中,按兩下事件名稱旁的輸入欄位,將事件處理常式方法新增至文件的程式碼後置檔案。
如需詳細資訊,請參閱撰寫回應事件的程式碼。
若要結束樣式的編輯範圍,請按一下 [物件與時間軸] 面板中的 [將範圍傳回]
。這會讓您回到文件的編輯範圍。
秘訣:
請注意,在建立樣式資源或將其套用至物件後,[屬性] 面板中的 Style 屬性就會呈現綠色醒目提示,表示物件已繫結 (或連結) 至此樣式資源。
編輯現有的自訂範本
在畫板或在 [物件與時間軸] 面板中,按一下物件加以選取,然後執行下列一項動作:
在畫板頂端的階層連結列中,按一下第三個按鈕。
在 [物件] 功能表上,指向 [編輯範本],然後按一下 [編輯目前的項目]。
以滑鼠右鍵按一下物件,指向 [編輯範本],再按一下 [編輯目前的項目]。
在 [屬性] 面板中,按一下 Style 屬性旁的 [進階選項]
(先前已套用樣式至此物件,所以應該呈綠色醒目提示),然後按一下快顯功能表中的 [編輯資源]。進入樣式的編輯範圍之後,以滑鼠右鍵按一下 [物件與時間軸] 面板中的 [Style] 物件,指向 [編輯範本],然後按一下 [編輯目前的項目]。
注意:
如果 [編輯目前的項目] 選項已停用,表示物件尚未套用任何範本。
秘訣:
您可以在 [屬性] 面板中按一下您要繫結之屬性旁邊的 [進階選項],然後按一下 [範本繫結],從範本編輯模式快速繫結範本。
Expression Blend 會進入範本的編輯範圍。
從資源面板開啟範本
在 [資源] 面板中,找出資源名稱,然後按一下名稱旁的 [編輯資源] 按鈕。
Expression Blend 會進入樣式的編輯範圍。
進入樣式的編輯範圍之後,以滑鼠右鍵按一下 [物件與時間軸] 面板中的 Style 物件,指向 [編輯範本],然後按一下 [編輯目前的項目]。
Expression Blend 會進入範本的編輯範圍。
另請參閱
工作
概念
一般 Silverlight 控制項的樣式提示
WPF 簡單樣式的樣式提示
Copyright © 2011 by Microsoft Corporation. All rights reserved.