共用方式為


HOW TO:部署自訂控制項和設計階段屬性

在為自訂 WPF 和 Silverlight 控制項撰寫設計經驗時,您通常會遵照類似的工作流程。 本主題說明如何部署自訂控制項和設計階段組件。

注意

如需示範如何實作自訂設計階段經驗的範例,請參閱 WPF 和 Silverlight Designer 擴充性範例 (英文)。

建立和部署設計階段組件

若要建立和部署設計階段組件

  1. 實作您的 WPF 或 Silverlight 控制項。

  2. 決定您要以哪個版本的 WPF Designer架構做為設計階段實作的目標,並決定哪些設計工具將會載入您的設計階段組件。 例如,您可以將 WPF Designer架構的 4.0 版本設為目標,並撰寫 Visual Studio 2010 (含) 以後版本和 Expression Blend 3 (含) 以後版本專屬的設計經驗。

  3. 為每個設計階段組件建立對應的專案。 請依據部署自訂控制項和設計階段屬性中說明的慣例,為這些專案命名。 例如,步驟 2 的情節可能會有使用下列名稱的專案。

    命名規範

    描述

    <ControlLibrary>.Design.4.0.dll

    通用設計階段實作。

    <ControlLibrary>.Expression.Design.4.0.dll

    以 Expression Blend 專屬的中繼資料,覆寫通用設計階段實作。

    <ControlLibrary>.VisualStudio.Design.4.0.dll

    以 Visual Studio 專屬的中繼資料,覆寫通用設計階段實作。

  4. 將每個設計階段專案的建置輸出導向通用資料夾。 這個資料夾可以是包含自訂控制項的相同資料夾,也可以是名為 Design 的子資料夾。

  5. 將實作 IProvideAttributeTable 介面的類別加入至每個設計階段專案。 這個類別的名稱通常是 Metadata 或 RegisterMetadata。 在這個類別中,您會指定自訂設計階段中實作的功能。 您也會指定出現在 [工具箱] 之 [選擇項目] 對話方塊中的類別。

  6. ProvideMetadataAttribute 套用到每個設計階段組件,並用它來指定對應的 RegisterMetadata 類別。

  7. 使用 AssemblyFoldersEx 註冊程序來註冊控制項及其關聯的設計階段組件。 AssemblyFoldersEx 是註冊位置,協力廠商使用這個位置來儲存他們支援的每個架構版本的路徑。 設計階段解決方案可以查詢這個註冊位置,以尋找參考組件。 註冊指令碼可以指定要顯示在 [工具箱] 的控制項。 如需詳細資訊,請參閱部署自訂控制項和設計階段屬性

請參閱

參考

AttributeTable

ProvideMetadataAttribute

概念

部署自訂控制項和設計階段屬性

提供設計階段中繼資料

其他資源

Visual Studio 擴充功能部署

了解 WPF 設計工具擴充性

基本擴充性概念

WPF 與 Silverlight Designer 擴充性範例