讓您的傳統型應用程式現代化

Windows 11 和 Windows 10 提供許多功能,您可以用來在您的傳統型應用程式中傳遞新式體驗。 這些功能大部分都可作為模組化元件,您可以依照您自己的步調在傳統型應用程式中採用,不需要為了不同的平台而重新撰寫您的應用程式。 您可以選擇要採用的 Windows 功能,來增強您現有的傳統型應用程式。

本主題說明您現在可以在您傳統型應用程式中使用的功能。 有關示範如何將現有的應用程式現代化,以使用本主題中所述許多功能的教學課程,請參閱將 WPF 應用程式現代化教學課程。

注意

您是否需要將傳統型應用程式遷移到 Windows 10 或更新版本方面的協助? 應用程式保證服務為將應用程式移植到 Windows 10 和更新版本的開發人員提供直接、無成本的支援。 這個方案適用於所有 ISV 和符合資格的企業。 如需方案本身資格的詳細資訊,請造訪 /fasttrack/win-10-app-assure-assistance-offered。 若要立即開始使用,請提交您的要求

套用 Windows 11 功能

Windows 11 代表著 Windows 作業系統的視覺演進,並引進了可改善應用程式基本概念和使用者體驗的新功能。 應用程式預設會啟用其中許多功能,但傳統型應用程式可能需要更新才能與某些新功能進行整合。 這些功能包括最上層視窗的圓角、貼齊版面配置,以及 [檔案總管] 中更新的操作功能表。

如需詳細資訊,請參閱您可以讓應用程式在 Windows 11 上變得很棒的前 11 件事

Windows 應用程式 SDK

Windows 應用程式 SDK 是一組廣泛的新開發人員元件和工具的程式碼名稱,其代表的是 Windows 應用程式開發平台的新一代進化。 Windows 應用程式 SDK 提供了一組整合的 API 和工具,可供 Windows 11 和 Windows 10 的許多版本上任何傳統型應用程式以一致的方式進行使用。 您可以使用專案範本來建立新的傳統型應用程式,以搭配 WinUI 3 型 UI 使用 Windows 應用程式 SDK,也可以在現有的傳統型應用程式中使用 Windows 應用程式 SDK。

如需詳細資訊,請參閱 Windows App SDK

Windows UI 程式庫

Windows UI 程式庫 (WinUI) 是同時適用於 Windows 桌面和 UWP 應用程式的原生使用者體驗。 WinUI 一開始是以工具組的形式提供,旨在針對舊版 Windows 提供適用於 UWP 應用程式的全新或更新版 WinRT XAML 控制項。 最新版本 WinUI 3 的範圍已成長,現在是適用於 Windows 傳統型應用程式的新式原生 UI 平台。

您可以透過下列方式在桌面應用程式中使用 WinUI:

如需詳細資訊,請參閱 Windows UI (WinUI) 程式庫

Windows 執行階段 API

您可以在您的 WPF、Windows Forms 或 C++ 傳統型應用程式中直接呼叫許多 Windows 執行階段 API,整合為使用者帶來好處的新式體驗。 例如,您可以呼叫 Windows 執行階段 API 以將快顯通知新增至您的傳統型應用程式。

如需詳細資訊,請參閱在傳統型應用程式中使用 Windows 執行階段 API

MSIX 部署

MSIX 是新式 Windows 應用程式套件格式,為所有 Windows 應用程式提供通用封裝體驗,包括 UWP、WPF、Windows Forms 及 Win32 應用程式。 MSIX 綜合 MSI、.appx、App-V 和 ClickOnce 安裝技術的優勢,以提供新式且可靠的封裝體驗。

將您的傳統型 Windows 應用程式封裝在 MSIX 套件中,可讓您存取強固的安裝和更新體驗、具有彈性功能系統的受控安全性模型、Microsoft Store 的支援、企業管理,以及許多自訂散發模型。

如需詳細資訊,請參閱從您的程式碼建置 MSIX 套件

在執行階段動態使用 MSIX 架構套件

Windows 應用程式 SDK 和 Windows 11 OS 中的動態相依性功能可讓您的應用程式在執行階段參考 MSIX 架構套件。 這項功能主要供未封裝的傳統型應用程式使用,以呼叫 MSIX 架構套件所提供的 API。

如需詳細資訊,請參閱從傳統型應用程式動態使用 MSIX 架構套件

.NET

.NET (先前稱為 .NET Core) 支援 Windows 傳統型應用程式,包括使用 Windows 應用程式 SDK 建立的 WinUI 3 應用程式 (請參閱建立您的第一個 WinUI 3 專案)。 .NET 也支援 Windows Presentation Foundation (WPF)Windows Forms (WinForms) 應用程式。 您可以在 .NET 上執行新的和現有的 Windows 傳統型應用程式,並享有 .NET 帶來的所有優點。

如需詳細資訊,請參閱 .NET 6 的新功能

主機 WinRT XAML 控制項 (XAML Islands)

從 Windows 10 1903 版開始,您可以直接將 UWP XAML 控制項新增至 WPF、Windows Forms 或 C++ 傳統型應用程式的任何 UI 元素 (與視窗控制代碼 (HWND) 相關聯)。 這表示您可以將最新的 UWP 功能 (例如 Windows Ink),與支援 Fluent Design 系統的控制項,完全整合至傳統型應用程式中的視窗和其他顯示表面。 此開發人員案例有時候稱為 XAML islands

如需詳細資訊,請參閱傳統型應用程式中的 WinRT XAML 控制項

在傳統型應用程式中使用視覺層

您現在可以在非 UWP 傳統型應用程式中使用 Windows 執行階段 API,來增強您的 WPF、Windows Forms 和 C++ 傳統型應用程式的外觀、風格及功能,並且利用只能透過 UWP 取用的最新 Windows 10 UI 功能。 當您需要建立自訂體驗,超越使用 XAML Islands 可以裝載的內建 WinRT XAML 控制項時,這個方式非常有用。

如需詳細資訊,請參閱使用視覺層讓您的傳統型應用程式現代化

具有套件身分識別之應用程式可用的其他功能

部分新式 Windows 體驗只能在執行階段中具有套件身分識別的傳統型應用程式中獲得。 這些功能包括特定 Windows 執行階段 API、套件擴充功能和 UWP 元件。 如需詳細資訊,請參閱需要套件身分識別的功能

針對傳統型應用程式最佳化的 WinRT XAML 控制項

不論您是要建置完全以桌面裝置系列作為目標的 WinRT XAML 應用程式,或是要在 WPF、Windows Forms 或 C++ 傳統型應用程式中使用 WinRT XAML 控制項,下列新的和更新的 UWP 控制項的設計目的,是透過 Fluent Design 系統提供桌面最佳化體驗。 這些控制項是在 Windows 10 1809 版 (2018 年 10 月更新,或 10.0.17763 版) 中導入。

控制 描述
MenuBar 針對可能需要比 CommandBar 所允許更多組織或群組的應用程式,提供一種快速且簡單的方法來公開一組命令。
DropDownButton 將>形箭號顯示為視覺指標,具有包含許多選項的附加飛出視窗。
SplitButton 提供一個按鈕,具有可以分別叫用的兩個組件。 一個組件的行為類似標準按鈕,並且會叫用立即動作。 另一個組件會叫用飛出視窗,其中包含使用者可以選擇的其他選項。
ToggleSplitButton 提供一個按鈕,具有可以分別叫用的兩個組件。 一個組件的行為類似可以開或關的切換按鈕。 另一個組件會叫用飛出視窗,其中包含使用者可以選擇的其他選項。
CommandBarFlyout 可讓您在 UI 畫布上的項目內容中顯示一般使用者工作。
ComboBox 您現在可以讓下拉式方塊變成可編輯,讓使用者可以輸入未列在控制項中的值。
TreeView 您現在可以設定樹狀檢視,以啟用資料繫結、項目範本及拖放。
DataGridView 可讓您靈活顯示資料列和資料行中的資料集合。 這個控制項可於 Windows 社群工具組 (英文) 中取得。

新式傳統型應用程式的其他技術

Microsoft Graph

Microsoft Graph 是 API 的集合,您可以用來為與數百萬使用者資料互動的組織和取用者建置應用程式。 Microsoft Graph 會公開 REST API 和用戶端程式庫,以存取下列位置上的資料:

  • Azure Active Directory
  • Microsoft 365 Office 應用程式:SharePoint、OneDrive、Outlook/Exchange、Microsoft Teams、OneNote、Planner 及 Excel
  • Enterprise Mobility + Security 服務:Identity Manager、Intune、Advanced Threat Analytics 及進階威脅防護。
  • Windows 服務:活動和裝置

如需詳細資訊,請參閱 Microsoft Graph 文件 (英文)。

調適型卡片

調適型卡片是開放、跨平台架構,您可以用來在裝置和平台之間以通用且一致的方式交換卡片型 UI 內容。

如需詳細資訊,請參閱調適型卡片文件