共用方式為


Windows 應用程式 SDK 的最新穩定通道版本資訊

穩定通道提供的 Windows 應用程式 SDK 版本可支援生產環境的應用程式使用。 使用穩定版 Windows 應用程式 SDK 的應用程式也可以發布至 Microsoft Store。

重要連結

穩定通道版本資訊封存:

Windows 應用程式 SDK 的下載項目

注意

Windows 應用程式 SDK Visual Studio 延伸模組 (VSIX) 不再以獨立下載的形式發布。 它們改在 Visual Studio 內 的Visual Studio Marketplace 提供。

第 1.5 版

版本 1.5.5 (1.5.240627000)

這是 Windows 應用程式 SDK 的維修版本,其中包含 1.5 版的重要錯誤修正。

  • 已修正在映像載入完成之前變更映像來源時,映像載入期間可能發生的當機。
  • 已修正使用 InputNonClientPointerSource時可能發生的當機問題。
  • 修正了只包含 WebView2 控制件的視窗無法正確將初始鍵盤焦點設定到 WebView2 的問題,讓鍵盤和輔助功能工具無法使用。 如需詳細資訊,請參閱 GitHub 問題 WebView2Feedback#2330

版本 1.5.4 (1.5.240607001)

這是 Windows 應用程式 SDK 的維修版本,其中包含 1.5 版的重要錯誤修正。

  • 修正了修正 GitHub 問題 #8857 的問題,以將連結庫的 resources.pri 正確合併到應用程式的 resources.pri。
  • 已修正 WebView2 在每次按兩下時傳送額外 blur 事件和 focus 事件的問題。 如需詳細資訊,請參閱 GitHub 問題 #9288。 這也會修正下拉式清單未回應的問題,如 GitHub 問題 #9566 所示。
  • 已修正建立新視窗或快顯已取消任何進行中的拖曳作業的問題。 如需詳細資訊,請參閱 GitHub 問題 #9360
  • 修正了定義負面檢視框的SVG檔案不再轉譯的問題。 如需詳細資訊,請參閱 GitHub 問題 #9415
  • 已修正在使用弱式參考之前未檢查 Null 的問題x:Bind,這可能會導致當機。 如需詳細資訊,請參閱 GitHub 問題 #9551
  • 已修正當視窗最大化時,在標題欄邊緣不正確地顯示重設大小游標的問題,這也會導致在這些區域中單擊或拖曳時發生錯誤的行為。 如需詳細資訊,請參閱 GitHub 問題 #8665

版本 1.5.3 (1.5.240428000)

這是 Windows 應用程式 SDK 的維修版本,其中包含 1.5 版的重要錯誤修正。

  • 已修正 ItemsRepeater 有時候會導致視窗出現在最前面的問題。
  • 已修正當更新 AcrylicBrush 的透明度狀態時可能發生的當機情形。
  • 已修正若 ShouldConstrainToRootBounds="false" 快顯視窗比主視窗更長或更寬時,ItemsRepeater 無法產生足夠項目的問題。
  • 已修正當專案檔案未指定 TargetPlatformVersion 時,在建置階段可能發生 MSB4086 錯誤的問題。 這個錯誤發生在 GitHub 問題 #9531 中。

版本 1.5.2 (1.5.240404000)

這是 Windows App SDK 的一個服務版本,其中包括針對 1.5 版本的重要錯誤修復和 Widget 資料提供程序的新功能。

Widget 資料提供者更新

  • 現在,資料提供者可以在 Widgets Dashboard 中顯示公告:
    • 新的 FeedManager.TryShowAnnouncementAPI 允許 Feed Provider 請求 Widget Dashboard 顯示他們的公告。 若要顯示您的公告,請建立一個FeedAnnouncement物件並喚醒 FeedManager.TryShowAnnouncementAPI。
    • Feed 公告將在工作列中顯示自己的徽章,可以使用 FeedAnnouncementAPI 進行自訂。
  • Feed 提供者現在可以選擇在使用者與其互動時接收有關其提供者的分析和錯誤報告資訊。 若要選擇加入,請由您的提供者實作IFeedProviderAnalytics和/或IFeedProviderErrors介面。

資料提供者更新包括以下新的 API:

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

錯誤修正

  • 修復了當主顯示器DispatcherTimer未以 60 Hz 執行時,事件將不會在正確的時間觸發的問題。
  • 修復了當縮放比例不是 100% 時,文字框輸入法編輯器 (IME) 視窗位置不正確的問題。 關於更多資訊,請參閱 GitHub 問題 #9382
  • 修復了從另一個應用程式開始的拖放操作可能不允許正確的複製/移動/鏈接放置操作的問題。
  • 修復了重置 ListView ItemsSource並立即獲得焦點時可能發生的崩潰。
  • 修正了彈出視窗/浮出ShouldConstrainToRootBounds="false"控制項不套用任何繼承的比例變換的問題。 有關詳細資訊,請參閱 GitHub 問題 #9118#9433
  • 修正了當 Composition 物件在動畫仍在執行時被銷毀時可能發生的當機。
  • 修復了NavigationView::RevokeNavigationViewItemRevokers中關閉時可能發生的崩潰。

版本 1.5.1 (1.5.240311000)

這是 Windows 應用程式 SDK 的維修版本,其中包含 1.5 版的重要錯誤修正。

  • 修正了由於無法複製“map.html”而導致獨立應用程式可能無法設定的問題。
  • 修正了由於拒絕MapControl有效憑證而無法初始化的問題。 關於更多資訊,請參閱 GitHub 問題 #9324
  • 修正了MapControl載入藍色背景的問題。 關於更多資訊,請參閱 GitHub 問題 #9377
  • 修正了點選 V 形符號時NavigationViewItem無法正確展開或折疊的問題。 這也導致在PaneDisplayMode="Top"模式下點選 V 形時選單顯示為空白。 有關詳細資訊,請參閱 GitHub 問題 #9423 #9426
  • 修正了使用觸控或筆點選NavigationViewItem會阻止該項目響應任何未來輸入的問題。 關於更多資訊,請參閱 GitHub 問題 #9429
  • 修正了在點選NavigationView.PaneFooter區域中的項目時發生的當機。 關於更多資訊,請參閱 GitHub 問題 #9396
  • 修正了選單中的圖示有時顯示在錯誤位置的問題。 關於更多資訊,請參閱 GitHub 問題 #9409
  • 修復了丙烯酸樹脂在從窗戶切換回來之前不會顯示在選單上的問題。 關於更多資訊,請參閱 GitHub 問題 #9406
  • 修正了TextBox/RichEditBox初始化期間可能發生的崩潰。 關於更多資訊,請參閱 GitHub 問題 #9216
  • 修正了NavigationView拋出並擷取破壞的一些雜訊異常。
  • 修正了由於錯誤的PointerCaptureLost訊息觸發而導致「捏合縮放」手勢有時會顯示為平移或點選的問題。

第 1.5 版

下列各節說明 1.5 版的新功能、更新功能和已知問題。

在現有的 Windows 應用程式 SDK 1.4 應用程式中,您可以將 Nuget 套件更新為 1.5.240227000 (請參閱使用 NuGet 套件管理員 在 Visual Studio 安裝和管理套件中的更新套件一節)。

如需更新的執行階段和 MSIX,請參閱 Windows 應用程式 SDK 的下載項目

XAML Islands 執行階段和關閉更新

以 XAML Islands 為基礎的 WinAppSDK 1.4 和 WinAppSDK 1.5 應用程式在關閉任何執行緒的最後一個 XAML 視窗時,會有不同的行為。

  • 在 WinAppSDK 1.4,執行緒的最後一個 XAML 視窗關閉時,XAML 執行階段一律會退出執行緒的事件迴圈。
  • 而在 WinAppSDK 1.5:
    • 如果是 WinUI 桌面應用程式,預設行為仍然和 WinAppSDK 1.4 一樣。
    • 如果您將 XAML 用於 DesktopWindowXamlSource (「XAML Islands」) API,現在的預設行為是 XAML 不會自動退出執行緒的事件迴圈。
    • 在兩種模式,您都可以設定 Application.DispatcherShutdownMode 屬性來變更行為。

如需更多資訊,請在文件仍提供期間參閱文件了解 Application.DispatcherShutdownMode 屬性。 此設定實現了 GitHub 提案編號 8492

以 XAML Islands 為基礎的 WinAppSDK 1.4 和 WinAppSDK 1.5 應用程式在 XAML 執行階段的存留期方面,有不同的行為:

  • 在 WinAppSDK 1.4,如果特定執行緒上的所有 WindowsXamlManagerDesktopWindowXamlSource 物件都已關閉,或在該執行緒執行的 DispatcherQueue 已關閉,執行緒上的 XAML 執行階段就會關閉 (在此例中,XAML 執行階段會在 DispatcherQueue.FrameworkShutdownStarting 期間關閉)。
  • 在 WinAppSDK 1.5 中,在執行緒上執行的 DispatcherQueue 關閉,執行緒上的 XAML 執行階段才會關閉 (XAML 執行階段一律會在 DispatcherQueue.FrameworkShutdownStarting 階段中關閉)。

如需更多資訊,請在文件仍提供期間參閱文件了解 WindowsXamlManager 類別。

WindowsXamlManager.InitializeForCurrentThread() 方面有行為上的差異:

  • 在 WinAppSDK 1.4 中,WindowsXamlManager.InitializeForCurrentThread() 會對每個呼叫都傳回 WindowsXamlManager 物件的不重複執行個體。
  • 在 WinAppSDK 1.5,如果執行緒上已存在執行個體,WindowsXamlManager.InitializeForCurrentThread() 就會傳回現有執行個體。 Close/Dispose() 現在會遭到忽略。

WinUI 地圖控制項

WinUI Maps 控制項已經推出! 此控制項由 WebView2 和 Azure Maps 驅動,可提供下列功能:

  • 以地圖按鈕或觸控方式移動與縮放。
  • 將地圖樣式變更為衛星、地形或街道檢視。
  • 以程式設計方式將開發人員可自訂圖示的互動式圖釘新增到地圖。
  • 開發人員可自訂地圖初次載入時的置中位置。
  • 開發人員可控制要隱藏或顯示移動、縮放和地圖樣式的按鈕。

WinUI 3 地圖控制

注意

若要使用 Maps 控制項,您需要 Azure 地圖金鑰。 如要建立金鑰,請參閱 Azure 地圖文件中建立 Web 應用程式的頁面

Maps 控制項是全新功能,如有意見,歡迎告知我們,以便評估日後調整方向!

新增 SelectorBar 控制項

我們在 1.5 新增了 SelectorBar 控制項,可讓使用者切換多種資料檢視。 此控制項在我們過去的 1.5 藍圖中稱為「SegmentedControl」。

WinUI 3 選擇器欄控制

CommandBarFlyout 主要命令的標籤

CommandBarFlyout 的視覺效果已更新,如果您已在 AppBarButton 設定 Label 屬性,它就會在主要命令區域中顯示項目的文字標籤。 之前,CommandBarFlyout區域中的主要命令只會顯示圖示,但現在已可同時顯示圖示和標籤,讓使用性更提升。

WinUI 3 CommandBarFlyout 標籤

WebView2 支援自訂環境/選項

WinUI WebView2 控制項現在已提供可讓您使用自訂 CoreWebView2EnvironmentCoreWebView2ControllerOptions 來自訂基礎 CoreWebView2 物件的功能。 這可讓應用程式作者指定載入 WebView2Runtime 的替代路徑、選擇使用不同的 UserDataFolder,或設定 IsPrivateModeEnabledScriptLocale 等選項。

支援 .NET 8

我們在最近的 1.4 維修版本新增了 .NET 8 的支援,但仍會保留使用平台特定 RID 時的警告。 1.5 則已經補完此功能,因此不再提供警告。

改善偵錯能力和來源可用性

我們現在會將 microsoft-ui-xaml 存放庫程式碼的 Github 來源伺服器資訊插入公用符號,讓偵錯工具可以自動下載原始程式碼。 我們也對整個 WinAppSDK 的符號進行其他修正和改善,藉此提升偵錯體驗。

改良偵錯版面配置週期的功能

WinUI 應用程式的偵錯版面配置週期使用起來並不友善,因此在 1.5 的 DebugSettings 物件現在會提供選項,改善版面配置程序的記錄和中斷點,以便更輕鬆地在應用程式中對版面配置週期進行偵錯和修正。

WinAppSDK 提供的其他新功能

  • 已新增 PublishSingleFile 部署模型的支援功能。 如需 PublishSingleFile 詳細資訊,請參閱單一檔案部署文件
  • 改善螢幕助讀程式支援、文字縮放支援和其他協助工具功能。
  • 根據 GitHub 中優先的待處理錯誤,提供各種穩定性和效能改良。

即將個別發布的新功能

新版的 C# 和 C++ WinAppSDK Visual Studio 範本即將透過 Visual Studio Marketplace 發布,預計在 1.5 版的幾週後上架。 在新版本中,範本的發布可能會獨立於 WinAppSDK 的發布之外,讓我們在為客戶提供更新時更有彈性。

其他已事先規劃的功能

我們公告過幾項放在藍圖上的功能,而在 1.5 版也有所進展,但尚未完成。 我們會將這些功能放入 1.6 的時間表內繼續開發。

  • 索引標籤化的視窗
  • WebView2 的拖放支援
    • 為了釐清,支援在 1.5 中拖曳至 WebView2,例如將 PNG 從 檔案總管 拖曳至 Bing 以進行視覺搜尋。 工作正在進行 1.6,以支援 拖曳出 WebView2。
  • 資料表檢視和筆跡控制項的調查功能

我們已暫時將動態光源從藍圖中移除。

已知問題

  • 使用的程式庫中包含 .xaml 檔案這類資源時,執行階段可能會顯示錯誤訊息,指出系統找不到這些資源。 這種情況下,您可能需要在專案檔插入 <ShouldComputeInputPris>true</ShouldComputeInputPris>,確保納入這些資源。
  • 按一下 NavigationViewItem 箭號後,單次點擊已無法再正確展開或收合。 按兩下仍然有效,按一下 NavigationViewItem 的其他位置也是。

錯誤修正

  • 已修正 StackPanel 會套用間距至收合項目的問題。 關於更多資訊,請參閱 GitHub 問題 #916
  • 已修正捲動控制項無法在關閉其他應用程式視窗後繼續運作的問題。 如需詳細資訊,請參閱 GitHub 問題 #9292#9355
  • 已修正 DebugSettings.EnableFrameRateCounter 設為 true 時,在第一個畫面顯示之前發生當機的問題。 關於更多資訊,請參閱 GitHub 問題 #2835
  • 已修正 C++ 中某些標頭不包含必要相依性的潛在編譯錯誤。 請注意,變更 #include 順序可能會對某些應用程式有影響,例如,如果應用程式使用 2023 之前的 C++/WinRT 版本,IInspectable 可能會發生編譯錯誤。 關於更多資訊,請參閱 GitHub 問題 #9014
  • 已修正系結無法在 內ItemsRepeaterDataTemplate運作的問題ElementName。 關於更多資訊,請參閱 GitHub 問題 #560
  • 已修正在 Visual Studio 中執行應用程式時,如果應用程式內工具列已啟用則會當機的問題。 需要 Visual Studio 17.8 Preview 2 或之後的版本,才能取得完整修正。 關於更多資訊,請參閱 GitHub 問題 #8806
  • 已修正 AnnotatedScrollbar 有時會在快速捲動時當機的問題。
  • 已修正功能表文字有時會截斷的問題。
  • 已修正教學提示無法接收正確焦點的問題。 關於更多資訊,請參閱 GitHub 問題 #3257
  • 已修正將 TeachingTipTailVisibility 設為於啟動時 Collapsed 會造成應用程式當機的問題。 關於更多資訊,請參閱 GitHub 問題 #8731
  • 已修正使用程式庫時系統會如何處理 PRI 檔案的問題。 關於更多資訊,請參閱 GitHub 問題 #8857
  • 已修正 1.5-experimental2 版本中投影 DLL 無法產生的問題。 關於更多資訊,請參閱 GitHub 問題 #4152
  • 已修正 RichEditBox 文字格式化快顯示窗的省略符號按鈕無法正確顯示動作清單的問題。 關於更多資訊,請參閱 GitHub 問題 #9140
  • 已修正 ListView 無法正確處理鍵盤加速器的問題。 關於更多資訊,請參閱 GitHub 問題 #8063
  • 已修正使用 AccessKey 關閉視窗時的存取違規問題。 關於更多資訊,請參閱 GitHub 問題 #8648
  • 已修正使用 AccessKey 關閉視窗時當機的問題。 關於更多資訊,請參閱 GitHub 問題 #9002
  • 已修正 MenuBar 中的 MenuFlyoutItem 文字對齊受到影響的問題。 關於更多資訊,請參閱 GitHub 問題 #8755
  • 已修正反白文字無法在按右鍵時維持反白的問題。 關於更多資訊,請參閱 GitHub 問題 #1801
  • 已修正閒置視窗關閉時造成應用程式當機的問題。 關於更多資訊,請參閱 GitHub 問題 #8913
  • 已修正以滑鼠中鍵滑動並隨後立即按左鍵時導致應用程式停格的問題。 關於更多資訊,請參閱 GitHub 問題 #9233
  • 已修正在使用自訂 NavigationViewItem時,導致應用程式在啟動時當機的問題。 關於更多資訊,請參閱 GitHub 問題 #8814
  • 修正了省略號按鈕會錯誤產生錯誤的 NavigationView 問題。 關於更多資訊,請參閱 GitHub 問題 #8380
  • 修正了 SystemBackdrop 在多視窗應用程式中無法正確渲染的問題。 關於更多資訊,請參閱 GitHub 問題 #8423
  • 修正了插入到 ObservableCollection 開頭時的重複問題。 關於更多資訊,請參閱 GitHub 問題 #8370