適用於 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。 |
應用程式圖示 |
|
指派定位順序 |
選取每個控制項,並在 [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.Column 或 Grid.Row 指派。 |
顯示影像 |
使用 Image 控制項。 如需詳細資訊,請參閱 HOW TO:將影像加入至 WPF 專案。 |
在 [工具箱] 中顯示 UserControl |
將專案參考加入至使用者控制項的組件中,並在 [XAML] 檢視中使用 IntelliSense 指派 xmlns 屬性。 您也可以使用 [選擇工具箱項目] 對話方塊,並瀏覽到包含控制項的組件,不過,這個用法有一些限制。 如需詳細資訊,請參閱 選擇工具箱項目對話方塊、WPF 元件索引標籤。 |
跨表單散發控制項 |
使用 StackPanel 項目。 |
停駐 |
為多個控制項使用 DockPanel 項目。 也可以使用 Grid,並藉由使用格線對齊來將控制項對齊到格線儲存格的界限。 |
錯誤提供者 |
沒有視覺化設計階段。 在 [XAML] 檢視中使用 Validation 類別。 如需詳細資訊,請參閱 HOW TO:實作繫結驗證。 |
移至定義 |
在程式碼後置中,以滑鼠右鍵按一下符號,並從捷徑功能表選取 [移至定義]。 若要從 [XAML] 檢視進行搜尋,請開啟專案中的所有 XAML 檔案,並使用 [尋找和取代] 視窗。 如需詳細資訊,請參閱尋找和取代視窗。 |
說明提供者 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
超連結 |
在流動內容中使用 Hyperlink 類別。 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
|
鎖定 |
不支援。 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
|
助憶鍵 (Mnemonics) |
在助憶鍵字元前面加上底線字元 "_" 而非連字號字元 "&"。 |
[屬性] 視窗中的物件選取器下拉式清單 |
在 [文件大綱] 視窗、標記導覽或 [設計] 檢視中選取物件。 若要顯示 [文件大綱] 視窗,開啟 [檢視] 功能表,指向 [其他視窗],並選取 [文件大綱]。 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
|
在 XAML 中參考非區域型別 |
加入專案參考,並在 [XAML] 檢視中使用 IntelliSense 設定 xmlns 屬性。 如需詳細資訊,請參閱 HOW TO:將命名空間匯入 XAML。
注意事項
WPF 設計工具會依據 xmlns 屬性後的命名空間別名,嘗試進行比對,而非使用 clr-namespace 的完整語法。
|
重新命名和重構 |
開啟專案中的所有 XAML 檔案,並使用 [尋找和取代] 視窗。 如需詳細資訊,請參閱 尋找和取代視窗。 |
移除邊界 |
在 [設計] 檢視中,選取要移除邊界的所有項目。 在 [屬性] 視窗中,將 Margin 屬性輸入 0。 |
置放控制項後調整表單大小 |
因為調整視窗大小可能會調整內容大小,所以請使用下列處理方式。 選取所有項目,然後剪下。 接下來,調整視窗大小,然後再貼上。 |
設定 Button、Label、CheckBox 和 RadioButton 控制項的文字。 |
在 [屬性] 視窗中,設定 Content 屬性。 或者,您也可以在 [XAML] 檢視中設定文字。 |
智慧標籤 |
不支援。 |
工具提示 |
沒有視覺化設計階段。 在 [XAML] 檢視中使用 ToolTip 類別。 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
|
視覺化繼承 |
不支援。 |
沒有視覺化設計階段。 使用 [XAML] 檢視。 |
|
疊置順序 |
在 [XAML] 檢視中選取和移動項目標記,或在 [設計] 檢視的內容功能表中選取 [順序]。 使用 [文件大綱] 視窗確認項目的疊置順序。 |