共用方式為


給 Windows Form 開發人員的 WPF 設計工具注意事項

更新:2007 年 11 月

Windows Presentation Foundation (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 設計工具不支援 [資料來源] 視窗。請使用 [XAML] 檢視,定義資料來源和資料繫結。

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

宣告和附加事件處理常式

對於預設事件處理常式,按兩下 [設計] 檢視中的控制項。對於其他事件,則在 [XAML] 檢視中使用 IntelliSense,並從下拉式清單中選取所要的事件。如需詳細資訊,請參閱 HOW TO:建立簡單的事件處理常式

設計功能表

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

定義筆刷和色彩

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

刪除格線

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

顯示影像

將影像加入至專案,並將其建置動作設定為 [資源]。在設計介面上置放 Image 控制項,並在 [屬性] 視窗中設定其 Source 屬性。如需詳細資訊,請參閱 HOW TO:指派影像至 Image 控制項。您也可以藉由使用封裝 URI 語法,設定來源影像。如需詳細資訊,請參閱 Windows Presentation Foundation 中的 Pack URI

在 [工具箱] 中顯示 UserControl

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

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

跨表單散發控制項

使用 StackPanel 項目。

停駐

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

錯誤提供者

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

Expander

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

Frame

沒有視覺化設計階段。使用 [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] 檢視和 Expression Blend。

智慧標籤

不支援。

TabControl

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

工具提示

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

Viewbox

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

視覺化繼承

不支援。

WindowsFormsHost

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

疊置順序

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

請參閱

概念

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

參考

WPF 設計工具的使用者介面參考

其他資源

WPF 設計工具使用者入門