建立或修改範本
控制項的外觀是由套用至畫板上控制項的範本決定。範本中包含控制項內含的物件。例如,[TextBox] 的控制項範本包含名為 [Bd] 的 Border 物件,而此 Border 物件又包含名為 [PART_ContentHost] 的 [ScrollViewer] 物件。當控制項範本套用到畫板上的 [TextBox] 時,[ScrollViewer] 物件就會顯示 [TextBox] 的內容。
編輯 TextBox 控制項的範本
系統控制項的預設範本會使用動態佈景主題,以便根據您的應用程式是執行於 Windows XP 電腦或 Windows Vista 電腦來變更控制項的外觀。不過,如果修改系統控制項的範本,則控制項在 Windows XP 和 Windows Vista 上的外觀會相同。
如需詳細資訊,請參閱設定支援範本之控制項的樣式中的<佈景主題>一節。
控制項範本是儲存為可套用至同類型之其他控制項的資源。
建立控制項範本
在 [物件與時間軸] 面板中或在畫板上,選取要建立之控制項範本的來源物件,並執行下列一項動作:
在 [物件] 功能表上,指向 [編輯範本]。
以滑鼠右鍵按一下物件,然後指向 [編輯範本]。
在畫板頂端的階層連結列中,按一下物件的名稱。
在出現的下拉式功能表中,執行下列一項動作:
若要建立新的空白範本,請按一下 [建立空白]。
若要根據已選取的物件目前所使用的範本 (不管是物件的預設範本或是先前建立的自訂範本) 建立新範本,請按一下 [編輯複本]。
注意事項: 如果 [編輯目前的項目] 選項呈啟用狀態,表示此物件已經套用範本。您也可以選擇是否要編輯此範本。
[建立樣式資源] 對話方塊會隨即顯示。這是因為控制項範本是儲存於樣式資源中。
在 [名稱 (索引碼)] 下,執行下列一項動作:
若要為物件建立新的具名樣式,請輸入索引碼名稱。其他物件可透過這個名稱來參照樣式,從而套用範本。
若要建立此類型之所有物件所用的樣式,請選取 [全部套用]。
秘訣: 在即將建立之樣式物件的 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 會進入範本的編輯範圍。