建立或修改範本

控制項的外觀是由套用至畫板上控制項的範本決定。範本中包含控制項內含的物件。例如, TextBox 的控制項範本包含名為 [Bd] 的 Border 物件,而此物件又包含名為 [PART_ContentHost] 的 ScrollViewer 物件。當控制項範本套用到畫板上的 TextBox 時, ScrollViewer 物件就會顯示 TextBox 的內容。

系統控制項的預設範本使用動態佈景主題,這種主題會根據您的應用程式是在哪個 Windows 版本上執行來變更控制項的外觀。不過,如果修改系統控制項的範本,則控制項在所有版本的外觀都會相同。

如需詳細資訊,請參閱設定支援範本之控制項的樣式中的<佈景主題>一節。

控制項範本是儲存為可套用至同類型之其他控制項的資源。

建立控制項範本

  1. 在 [物件與時間軸] 面板中或在畫板上,選取要建立之控制項範本的來源物件,並執行下列一項動作:

    • 在 [物件] 功能表上,指向 [編輯範本]。

    • 以滑鼠右鍵按一下物件,然後指向 [編輯範本]。

    • 在畫板頂端的階層連結列中,按一下物件的名稱。

  2. 在出現的下拉式功能表中,執行下列一項動作:

    • 若要建立新的空白範本,請按一下 [建立空白]。

    • 若要根據已選取的物件目前所使用的範本 (不管是物件的預設範本或是先前建立的自訂範本) 建立新範本,請按一下 [編輯複本]。

      Note注意:

      如果 [編輯目前的項目] 選項呈啟用狀態,表示此物件已經套用範本。您也可以選擇是否要編輯此範本。

    [建立樣式資源] 對話方塊隨即出現。這是因為控制項範本是儲存於樣式資源中。

  3. 在 [名稱 (索引碼)] 下,執行下列一項動作:

    • 若要為物件建立新的具名樣式,請輸入索引碼名稱。其他物件可透過這個名稱來參照樣式,從而套用範本。

    • 若要建立此類型之所有物件所用的樣式,請選取 [全部套用]。

      tip note秘訣:

      在即將建立之樣式物件的 XAML 中,名為 TargetType 的屬性會設為您要建立樣式之物件的類型。

      只有在您輸入索引碼名稱 (此步驟第一個選項) 時,才會設定 x:Key 屬性。 x:Key 屬性的存在只允許樣式套用至依索引碼名稱指定樣式的物件。若無 x:Key 屬性,則樣式可套用至此類型的所有物件。例如,下列程式碼範例中的樣式物件不會套用至畫板上的所有按鈕。

      <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"...

  4. 在 [定義於] 之下,選取要用以定義樣式的選項:

    • 若要使樣式可供應用程式中的任何文件使用,請選取 [應用程式]。

    • 若只要讓目前的文件使用樣式,請選取 [此文件],並從下拉式功能表選擇選項。

    • 若要在可於其他專案中重複使用的資源字典檔中定義樣式,請選取 [資源字典]。您可以接著選取現有的資源字典檔,或按一下 [新增] 建立新的資源字典檔。

  5. 按一下 [確定],結束對話方塊並開啟樣式以進行編輯。

    tip note秘訣:

    您可以在樣式內有效地建立新的範本資源。此資源會成為本機資源,而且可以使用 [資源] 面板中的 [編輯資源] 按鈕輕鬆進行檢視與修改。

  6. 注意畫板頂端的 Microsoft Expression Blend 階層連結列。

    已選取範本編輯模式的階層連結列

    Cc294908.eb50efd9-44c6-41f9-8f50-7d40f6c42e61(zh-tw,Expression.40).png

    您可以按一下階層連結列上的按鈕,快速在範本編輯模式、樣式編輯模式及選取物件的物件編輯範圍之間移動。任何套用自訂樣式或範本的所選物件,都會出現階層連結列。

  7. 新增或重新排列子物件來修改範本。

  8. 您可以執行下列一項動作,根據使用者互動的結果來變更物件的外觀或行為:

    • 如果您正在使用 Windows Presentation Foundation (WPF) 專案,請選取 [觸發程序] 面板中的觸發程序,開啟觸發程序錄製功能,然後變更範本中的物件。如果需要的觸發程序不存在,您可以建立新的觸發程序。例如,若要建立觸發程序來處理按一下 Button 物件的動作,請按一下 [新增屬性觸發程序],將觸發程序設為 IsPressed=True ,再選取新的觸發程序,然後進行變更。

      如需觸發程序的詳細資訊,請參閱使用觸發程序定義 WPF 控制項的行為

      如需詳細資訊,請參閱 WPF 簡單樣式的樣式提示

      Caution note 警告:

      變更控制項範本的某些特性可能會破壞控制項的功能。

      如需相關指導,請參閱設定支援範本之控制項的樣式 中的<最佳作法>。

    • 如果您正在使用 Microsoft Silverlight 專案,請選取 [狀態] 面板中的狀態,開啟狀態錄製功能,然後變更範本中的物件。如果物件的類型支援組件,您可以將範本的組件指派給不同物件。例如,您可以匯入圖案作為 Image 物件,然後將新物件轉換成範本的組件。狀態會使用範本組件,根據使用者互動來變更物件的外觀。

      如需詳細資訊,請參閱設定 Silverlight 控制項範本的組件樣式一般 Silverlight 控制項的樣式提示

    • 若要在物件中新增其他互動功能,可以在 [狀態] 面板中建立新狀態,然後使用 GoToStateAction 行為,以根據事件在狀態間變更。

      如需詳細資訊,請參閱定義控制項的不同視覺狀態

    • 您可以撰寫為了回應事件而執行的程式碼。在 [屬性] 面板的 [事件] 檢視中,按兩下事件名稱旁的輸入欄位,將事件處理常式方法新增至文件的程式碼後置檔案。

      如需詳細資訊,請參閱撰寫回應事件的程式碼

  9. 若要結束樣式的編輯範圍,請按一下 [物件與時間軸] 面板中的 [將範圍傳回] Cc294908.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(zh-tw,Expression.40).png。這會讓您回到文件的編輯範圍。

    tip note秘訣:

    請注意,在建立樣式資源或將其套用至物件後,[屬性] 面板中的 Style 屬性就會呈現綠色醒目提示,表示物件已繫結 (或連結) 至此樣式資源。

編輯現有的自訂範本

在畫板或在 [物件與時間軸] 面板中,按一下物件加以選取,然後執行下列一項動作:

  • 在畫板頂端的階層連結列中,按一下第三個按鈕。

    Cc294908.5bb586ea-6adc-4672-b316-0fab8215ff8c(zh-tw,Expression.40).png

  • 在 [物件] 功能表上,指向 [編輯範本],然後按一下 [編輯目前的項目]。

  • 以滑鼠右鍵按一下物件,指向 [編輯範本],再按一下 [編輯目前的項目]。

  • 在 [屬性] 面板中,按一下 Style 屬性旁的 [進階選項] Cc294908.ac1bd7f6-f5e6-494c-bca7-7a57ab314eab(zh-tw,Expression.40).png (先前已套用樣式至此物件,所以應該呈綠色醒目提示),然後按一下快顯功能表中的 [編輯資源]。進入樣式的編輯範圍之後,以滑鼠右鍵按一下 [物件與時間軸] 面板中的 [Style] 物件,指向 [編輯範本],然後按一下 [編輯目前的項目]。

    Note注意:

    如果 [編輯目前的項目] 選項已停用,表示物件尚未套用任何範本。

    tip note秘訣:

    您可以在 [屬性] 面板中按一下您要繫結之屬性旁邊的 [進階選項],然後按一下 [範本繫結],從範本編輯模式快速繫結範本。

    Expression Blend 會進入範本的編輯範圍。

從資源面板開啟範本

  1. 在 [資源] 面板中,找出資源名稱,然後按一下名稱旁的 [編輯資源] 按鈕。

    Expression Blend 會進入樣式的編輯範圍。

  2. 進入樣式的編輯範圍之後,以滑鼠右鍵按一下 [物件與時間軸] 面板中的 Style 物件,指向 [編輯範本],然後按一下 [編輯目前的項目]。

    Expression Blend 會進入範本的編輯範圍。

另請參閱

工作

從現有的物件建立使用者控制項

概念

一般 Silverlight 控制項的樣式提示
WPF 簡單樣式的樣式提示

Copyright © 2011 by Microsoft Corporation. All rights reserved.