應用程式開發

Windows Presentation Foundation (WPF) 是一種展示架構,可用來開發下列類型的應用程式:

  • 獨立應用程式 (建置為可執行組件的傳統 Windows 應用程式,可以安裝到用戶端電腦並從中執行)。

  • XAML browser applications (XBAPs) (以巡覽頁面組成且建置為可執行組件的應用程式,可以由如 Microsoft Internet Explorer 或 Mozilla Firefox 這類的 Web 瀏覽器裝載)。

  • 自訂控制項程式庫 (非可執行的組件,其中包含可重複使用的控制項)。

  • 類別庫 (非可執行的組件,其中包含可重複使用的類別)。

注意事項注意事項

我們非常不建議您在 Windows 服務中使用 WPF 型別。如果您嘗試在 Windows 服務中使用這些功能,它們可能無法如預期般運作。

為了能夠建置這類應用程式,WPF 會實作多項服務。 本主題將提供這些服務的概觀以及哪裡可以找到詳細資訊。

這個主題包含下列章節。

  • 應用程式管理
  • WPF 應用程式資源、內容和資料檔案
  • 視窗和對話方塊
  • 巡覽
  • 裝載
  • 建置和部署
  • 應用程式效能
  • 相關主題

應用程式管理

可執行的 WPF 應用程式一般需要一組核心功能,包括下列項目:

  • 建立和管理通用應用程式基礎結構 (包括建立進入點 (Entry Point) 方法和 Windows 訊息迴圈,以接收系統和輸入訊息)。

  • 追蹤應用程式的存留期 (Lifetime) 並與其互動。

  • 擷取和處理命令列參數。

  • 共用應用程式範圍屬性和 UI 資源。

  • 偵測和處理未處理的例外狀況。

  • 傳回結束代碼。

  • 管理獨立應用程式中的視窗。

  • 追蹤 XAML browser applications (XBAPs) 中的巡覽,以及獨立應用程式的巡覽視窗和框架 (Frame)。

這些功能都是由 Application 類別實作,您可以使用「應用程式定義」(Application Definition) 將此類別加入到應用程式。

如需詳細資訊,請參閱應用程式管理概觀

WPF 應用程式資源、內容和資料檔案

WPF 擴充了 Microsoft .NET Framework 中對內嵌資源的核心支援,能夠支援三種非可執行的資料檔案,包括資源、內容和資料。如需詳細資訊,請參閱 WPF 應用程式資源、內容和資料檔案

支援 WPF 非可執行資料檔案的關鍵之一,就是能夠使用唯一 URI 來識別和載入這些資料檔案。如需詳細資訊,請參閱 WPF 中的 Pack URI

視窗和對話方塊

使用者是透過視窗與 WPF 獨立應用程式進行互動的。 視窗的用途是裝載應用程式內容並公開應用程式功能,讓使用者與內容互動。 在 WPF 中,視窗會由 Window 類別封裝,而該類別支援:

  • 建立和顯示視窗。

  • 建立主控視窗 (Owner Window)/附屬視窗 (Owned Window) 的關聯性。

  • 設定視窗外觀 (例如大小、位置、圖示、標題列文字、框線)。

  • 追蹤視窗的存留期並與其互動。

如需詳細資訊,請參閱 WPF 視窗概觀

Window 支援建立一種稱為對話方塊的特殊視窗類型。 您可以建立強制回應 (Modal) 和非強制回應 (Modeless) 類型的對話方塊。

為了方便、能重複使用以及跨應用程式提供一致的使用者經驗,WPF 公開三種常用的 Windows 對話方塊,包括 OpenFileDialogSaveFileDialogPrintDialog

訊息方塊是特殊類型的對話方塊,可將重要的文字資訊顯示給使用者,以及詢問簡單的「是」/「否」/「確定」/「取消」問題。 您可以使用 MessageBox 類別建立和顯示訊息方塊。

如需詳細資訊,請參閱 對話方塊概觀

巡覽

WPF 支援使用頁面 (Page) 和超連結 (Hyperlink) 的 Web 樣式巡覽。 巡覽可藉由多種方式實作,包括下列項目:

  • 裝載於 Web 瀏覽器中的獨立頁面。

  • 編譯為可裝載於 Web 瀏覽器的 XBAP 的頁面。

  • 編譯至獨立應用程式並由巡覽視窗 (NavigationWindow) 裝載的頁面。

  • 由框架 (Frame) 裝載的頁面,可以裝載於獨立頁面,或編譯為 XBAP 或獨立應用程式的頁面。

為了加速巡覽,WPF 實作了下列項目:

  • NavigationService,這是處理巡覽要求的共用巡覽引擎,供 FrameNavigationWindow 和 XBAPs 用來支援應用程式內的巡覽。

  • 起始巡覽的巡覽方法。

  • 追蹤巡覽存留期並與其互動的巡覽事件。

  • 使用日誌記住向後和向前巡覽,日誌也可以供人檢查和操作。

如需詳細資訊,請參閱巡覽概觀

WPF 也支援一種稱為結構化巡覽的特殊巡覽類型。 結構化巡覽可用來呼叫一個或多個頁面,這些頁面會以與呼叫函式一致的結構化且可預期方式傳回資料。 這項功能需要仰賴 PageFunction<T> 類別,這點在結構化巡覽概觀中有進一步的說明。 PageFunction<T> 也可用來簡化巡覽拓撲的建立,巡覽拓撲說明於巡覽拓撲概觀

裝載

XBAPs 可以裝載於 Microsoft Internet Explorer 或 Firefox。 每種裝載模型都有各自的考量與限制,裝載 WPF 應用程式主題中會說明這些事項。

建置和部署

雖然從命令提示字元使用命令列編譯器也可以建置簡單的 WPF 應用程式,不過將 WPF 與 Microsoft Visual Studio 整合,將可提供更多的支援來簡化開發和建置程序。 如需詳細資訊,請參閱建置 WPF 應用程式 (WPF)

根據您建立的應用程式類型而定,有一個或多個部署選項可供選擇。 如需詳細資訊,請參閱 部署 WPF 應用程式 (WPF)

應用程式效能

如需 WPF 特定的效能考量,請參閱最佳化 WPF 應用程式效能。x

相關主題

標題

描述

應用程式管理概觀

提供 Application 類別的概觀,包括管理應用程式留存期、視窗、應用程式資源和巡覽。

WPF 應用程式中的視窗

提供有關管理您應用程式中視窗的詳細資訊,包括如何使用 Window 類別和對話方塊。

巡覽概觀

提供有關管理您應用程式中頁面間巡覽的概觀。

WPF 增益集概觀

提供有關如何使用 .NET Framework 增益集模型建立可延伸 WPF 應用程式的資訊。

裝載 WPF 應用程式

提供 XAML browser applications (XBAPs) 的概觀。

建置和部署 WPF 應用程式

描述如何建置及部署 WPF 應用程式。

效能

提供最佳化 WPF 應用程式效能的秘訣。

WPF 簡介

描述 WPF 的主要功能。

逐步解說:WPF 使用者入門

逐步解說如何使用頁面巡覽、配置、控制項、影像、樣式和繫結來建立 WPF 應用程式。