共用方式為


適用於 Windows Form 開發人員的 WPF 設計工具

WPF Designer for Visual Studio 與 Windows Form 設計工具有許多相似處,但也有許多不同的地方。 本主題描述其間的部分差異,同時也說明如何藉由使用 WPF 設計工具,達成 Windows Form 設計工具中常見的工作。

強調 XAML

Windows Form 設計工具和 WPF 設計工具之間最明顯的差異是分割檢視。 分割檢視可以讓您同時檢視設計介面和 XAML 標記。 WPF 設計工具著重於 [XAML] 檢視,並針對應用程式的 XAML 提供完整的編輯功能,包括 IntelliSense。 藉由使用 [XAML] 檢視,您可以達成許多 Windows Form 設計工具中常見的工作。 而分割檢視則可以在設計介面上即時反映 [XAML] 檢視中所做的任何編輯動作。 如需有關分割檢視的詳細資訊,請參閱分割檢視:同時檢視 WPF 設計介面和 XAML

您也可以使用 Expression Blend 搭配 Visual Studio,以完成 WPF 設計工具中不支援的工作。 如需詳細資訊,請參閱與 Expression Blend 共同作業

WPF 設計工具加強功能

WPF 設計工具有許多加強功能,是 Windows Form 設計工具中所沒有的。 這些加強功能包括:

  • 邊界線和 Stub:每個控制項周圍的邊界線代表該控制項已經設有邊界。 邊界 Stub 則代表該控制項的邊緣沒有設定邊界。

  • 縮放控制:出現在 [設計] 檢視左上角的縮放控制,可以讓開發人員縮放設計介面以執行精確的調整。 放大之後,您還可以上下左右移動設計介面。

  • 對齊線:雖然在 WPF 設計工具和 Windows Form 設計工具中都有出現對齊線,但在 WPF 設計工具中,也會顯示實際值。 除了會顯示控制項的對齊之外,對齊線也會顯示文字控制項的文字對齊。 如需詳細資訊,請參閱 HOW TO:同時對齊文字基線和邊界

Windows Form 設計工具工作和 WPF 設計工具對等用法

下表提供的對應,可供您了解如何在 WPF 設計工具中達成各種工作。

Windows Form 設計工具中的工作

WPF 設計工具中的對等用法

絕對配置

使用 Canvas 類別做為根項目 (Root Element)。

[屬性] 視窗中的字母排序

在 [屬性] 視窗中,按一下 [字母順序] 按鈕。 若要尋找屬性,請使用 [搜尋] 方塊。

您可以在 [XAML] 檢視或 [程式碼編輯器] 中使用 IntelliSense 來瀏覽屬性。 您也可以使用 [物件瀏覽器]。

錨定 (Anchoring)

使用 Grid 和 [設計] 檢視中的錨定功能,設定錨定目標。

動畫

使用 Expression Blend。

應用程式圖示

在應用程式的主要 Window 類別上設定 Icon 屬性。

指派定位順序

選取每個控制項,並在 [XAML] 檢視或 [屬性] 視窗中設定對應的 TabIndex 屬性。 預設的定位順序是控制項出現在父容器中的順序。

元件和元件匣

WPF 設計工具 [工具箱] 中不會顯示隱藏式元件。 請使用 [XAML] 檢視和命名空間對應,以參考資源和非區域型別。 如需詳細資訊,請參閱 HOW TO:將命名空間匯入 XAML

[資料來源] 視窗和資料繫結

使用 [資料來源] 視窗。如需詳細資訊,請參閱將 WPF 控制項繫結至 Visual Studio 中的資料

您可以使用 DesignInstance 標記延伸,繫結至資料的設計階段執行個體。 如需詳細資訊,請參閱逐步解說:使用 DesignInstance 繫結至設計工具中的資料

如果是要繫結到 XML 或物件,也可以使用 Expression Blend 定義資料來源和資料繫結。 將自動產生的 XAML,複製並貼入到 WPF 設計工具的 [XAML] 檢視中。 您也可以在 Expression Blend 中開啟 Visual Studio 專案並直接建立資源。

宣告和附加事件處理常式

在 [屬性] 視窗中,按一下 [事件] 按鈕,再按兩下所需的事件。

對於預設事件處理常式,按兩下 [設計] 檢視中的控制項。 您也可以在 [XAML] 檢視中,使用 IntelliSense 來選取所需的事件。 如需詳細資訊,請參閱 HOW TO:建立簡單的事件處理常式

設計功能表

使用 [XAML] 檢視,或是使用 [屬性] 視窗中 Items 集合的 [集合編輯器],並設定每個項目的 Header 屬性。

定義筆刷和色彩

在 [屬性] 視窗中,捲動到筆刷類型的屬性,並按一下向下箭號。 使用此筆刷編輯器來設計您的筆刷。 如需詳細資訊,請參閱 HOW TO:使用筆刷編輯器來建立筆刷

您可以使用 Expression Blend。 將自動產生的 XAML,複製並貼入到 WPF 設計工具的 [XAML] 檢視中。 您也可以在 Expression Blend 中開啟 Visual Studio 專案並直接建立資源。

刪除格線

按一下格線指示區,並從方格滑軌中拖曳它。 如需詳細資訊,請參閱 HOW TO:從方格移除資料列和資料行

您也可以使用 [XAML] 檢視移除相關的資料列定義或資料行定義,然後針對以 Grid 為父代的受影響子控制項,修正其 Grid.ColumnGrid.Row 指派。

顯示影像

使用 Image 控制項。 如需詳細資訊,請參閱 HOW TO:將影像加入至 WPF 專案

在 [工具箱] 中顯示 UserControl

將專案參考加入至使用者控制項的組件中,並在 [XAML] 檢視中使用 IntelliSense 指派 xmlns 屬性。

您也可以使用 [選擇工具箱項目] 對話方塊,並瀏覽到包含控制項的組件,不過,這個用法有一些限制。 如需詳細資訊,請參閱 選擇工具箱項目對話方塊、WPF 元件索引標籤

跨表單散發控制項

使用 StackPanel 項目。

停駐

為多個控制項使用 DockPanel 項目。 也可以使用 Grid,並藉由使用格線對齊來將控制項對齊到格線儲存格的界限。

錯誤提供者

沒有視覺化設計階段。 在 [XAML] 檢視中使用 Validation 類別。 如需詳細資訊,請參閱 HOW TO:實作繫結驗證

移至定義

在程式碼後置中,以滑鼠右鍵按一下符號,並從捷徑功能表選取 [移至定義]。

若要從 [XAML] 檢視進行搜尋,請開啟專案中的所有 XAML 檔案,並使用 [尋找和取代] 視窗。 如需詳細資訊,請參閱尋找和取代視窗

說明提供者

沒有視覺化設計階段。 使用 [XAML] 檢視。

超連結

在流動內容中使用 Hyperlink 類別。

InkCanvas

沒有視覺化設計階段。 使用 [XAML] 檢視。

鎖定

不支援。

MediaElement

沒有視覺化設計階段。 使用 [XAML] 檢視。

助憶鍵 (Mnemonics)

在助憶鍵字元前面加上底線字元 "_" 而非連字號字元 "&"。

[屬性] 視窗中的物件選取器下拉式清單

在 [文件大綱] 視窗、標記導覽或 [設計] 檢視中選取物件。 若要顯示 [文件大綱] 視窗,開啟 [檢視] 功能表,指向 [其他視窗],並選取 [文件大綱]。

Popup

沒有視覺化設計階段。 使用 [XAML] 檢視。

在 XAML 中參考非區域型別

加入專案參考,並在 [XAML] 檢視中使用 IntelliSense 設定 xmlns 屬性。 如需詳細資訊,請參閱 HOW TO:將命名空間匯入 XAML

注意事項注意事項
WPF 設計工具會依據 xmlns 屬性後的命名空間別名,嘗試進行比對,而非使用 clr-namespace 的完整語法。

重新命名和重構

開啟專案中的所有 XAML 檔案,並使用 [尋找和取代] 視窗。 如需詳細資訊,請參閱 尋找和取代視窗

移除邊界

在 [設計] 檢視中,選取要移除邊界的所有項目。 在 [屬性] 視窗中,將 Margin 屬性輸入 0。

置放控制項後調整表單大小

因為調整視窗大小可能會調整內容大小,所以請使用下列處理方式。 選取所有項目,然後剪下。 接下來,調整視窗大小,然後再貼上。

設定 ButtonLabelCheckBoxRadioButton 控制項的文字。

在 [屬性] 視窗中,設定 Content 屬性。 或者,您也可以在 [XAML] 檢視中設定文字。

智慧標籤

不支援。

工具提示

沒有視覺化設計階段。 在 [XAML] 檢視中使用 ToolTip 類別。

Viewbox

沒有視覺化設計階段。 使用 [XAML] 檢視。

視覺化繼承

不支援。

WindowsFormsHost

沒有視覺化設計階段。 使用 [XAML] 檢視。

疊置順序

在 [XAML] 檢視中選取和移動項目標記,或在 [設計] 檢視的內容功能表中選取 [順序]。 使用 [文件大綱] 視窗確認項目的疊置順序。

請參閱

概念

Windows Form 控制項和對等 WPF 控制項

WPF 和 Silverlight 設計工具概觀

其他資源

WPF 設計工具使用者入門