Windows 应用 SDK 1.5 的预览频道发行说明

重要

预览通道不支持在生产环境中使用,并且无法将使用预览版本的应用发布到 Microsoft Store。

此预览通道包括 Windows App SDK 的多个版本,其中附带处于开发后期阶段的预览通道功能。 预览版本不含实验功能和 API,但在下一稳定版本之前仍可能会出现重大更改。

重要链接

最新预览通道版本:

最新稳定通道版本:

版本 1.5 预览版 1 (1.5.0-preview1)

这是 1.5 版预览版通道的最新版本。

在现有的 Windows 应用 SDK 1.4(来自稳定渠道)应用中,可以将 Nuget 包更新为 1.5.0-preview1(请参阅使用 NuGet 包管理器在 Visual Studio 中安装和管理包中的更新包部分)。

有关已更新的运行时和 MSIX,请参阅 Windows 应用 SDK 下载

XAML Islands 运行时和关机更新

  • WinAppSDK 1.4 和 WinAppSDK 1.5 对于基于 Xaml Islands 的应用程序来说,当任何线程上的最后一个 Xaml 窗口被关闭时,其行为是不同的。
    • 在 WinAppSDK 1.4 中,当线程上最后一个 Xaml 窗口关闭时,Xaml 运行时总是退出线程的事件循环。
    • 在 WinAppSDK 1.5 中:
      • 如果应用是 WinUI 桌面应用,则默认行为仍与 WinAppSDK 1.4 中的行为相同。
      • 如果将 Xaml 用于 DesktopWindowXamlSource ("Xaml Islands") API,则默认行为现在是 Xaml 不会自动退出线程的事件循环。
      • 在这两种模式中,都可通过设置 Application.DispatcherShutdownMode 属性来更改此行为。
    • 有关详细信息,请参阅 Application.DispatcherShutdownMode 属性的文档(如果可用)。
  • 在 Xaml 运行时的生存期内,WinAppSDK 1.4 和 WinAppSDK 1.5 对于基于 Xaml Islands 的应用程序之间存在行为差异:
    • 在 WinAppSDK 1.4 中,如果给定线程中的所有 WindowsXamlManager 对象和 DesktopWindowXamlSource 对象都已关闭或关机,或者该线程上运行的 DispatcherQueue 处于关闭状态(Xaml 运行时在 DispatcherQueue.FrameworkShutdownStarting 阶段关闭),则 Xaml 运行时会在线程上关闭。
    • 在 WinAppSDK 1.5 中,仅当在该线程上运行的 DispatcherQueue 关闭(Xaml 运行时在 DispatcherQueue.FrameworkShutdownStarting 阶段关闭)时,Xaml 运行时才会在线程上关闭。
    • 有关详细信息,请参阅 WindowsXamlManager 类的文档(如果可用)。

WinUI Maps 控件

WinUI Maps 控件的初始版本现已推出! 此控件由 WebView2 和 Azure Maps 提供支持,提供以下功能:

  • 使用地图按钮或触控进行平移和缩放。
  • 将地图的样式更改为卫星视图、地形视图或街道视图。
  • 以编程方式将可交互图钉与开发人员可自定义的图标添加到地图。
  • 针对地图在初始加载时居中的位置进行开发人员自定义。
  • 控件,用于开发人员隐藏或显示用于平移、缩放和地图样式的按钮。

注意

若要使用 Maps 控件,则需要 Azure Maps 密钥。 若要创建密钥,请参阅用于创建 Web 应用的 Azure Maps 文档页面

Maps 控件是一个全新组件,欢迎你提供反馈,评估其未来方向!

WinAppSDK 中的其他新功能

  • 增加了对 PublishSingleFile 部署模型的支持。 有关 PublishSingleFile 的详细信息,请参阅单文件部署文档

Bug 修复

  • 修正了 1.5 试验版 2 版本中没有生成投影 DLL 的问题。 有关详细信息,请参阅 GitHub 问题 #4152
  • 修正了以下问题:RichEditBox 的文本格式弹出窗口上的省略号按钮不能正确显示操作列表。 有关详细信息,请参阅 GitHub 问题 #9140
  • 修正了以下问题:ListView 不能正确处理键盘快捷键。 有关详细信息,请参阅 GitHub 问题 #8063
  • 修正了以下问题:使用 AccessKey 关闭窗口时发生访问冲突。 有关详细信息,请参阅 GitHub 问题 #8648
  • 修正了影响 MenuBarMenuFlyoutItem 中的文本对齐的问题。 有关详细信息,请参阅 GitHub 问题 #8755
  • 修正了右键单击时突出显示的文本不会保持突出显示的问题。 有关详细信息,请参阅 GitHub 问题 #1801
  • 修正了关闭非活动窗口导致应用程序崩溃的问题。 有关详细信息,请参阅 GitHub 问题 #8913
  • 修正了当使用鼠标中键滚动并随后立即单击左键时可能挂起应用程序的问题。 有关详细信息,请参阅 GitHub 问题 #9233

1.5.0-preview1 中的新 API

版本 1.5-preview1 包括与稳定 1.4 版本相比的以下新 API:

Microsoft.Graphics.DirectX
 
    DirectXPixelFormat
        A4B4G4R4
Microsoft.UI.Input
 
    FocusNavigationReason
    FocusNavigationRequest
    FocusNavigationRequestEventArgs
    FocusNavigationResult
    InputFocusController
        DepartFocus
        NavigateFocusRequested
 
    InputFocusNavigationHost
Microsoft.UI.Xaml
 
    Application
        DispatcherShutdownMode

    DebugSettings
        LayoutCycleDebugBreakLevel
        LayoutCycleTracingLevel

    DispatcherShutdownMode
    LayoutCycleDebugBreakLevel
    LayoutCycleTracingLevel
Microsoft.UI.Xaml.Controls
 
    MapControl
    MapControlMapServiceErrorOccurredEventArgs
    MapElement
    MapElementClickEventArgs
    MapElementsLayer
    MapIcon
    MapLayer
    SelectorBar
    SelectorBarItem
    SelectorBarSelectionChangedEventArgs
    WebView2
        EnsureCoreWebView2Async
        EnsureCoreWebView2Async
Microsoft.UI.Xaml.Hosting
 
    WindowsXamlManager
        GetForCurrentThread
        XamlShutdownCompletedOnThread
 
    XamlShutdownCompletedOnThreadEventArgs
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        FrameId

    CoreWebView2AcceleratorKeyPressedEventArgs
        IsBrowserAcceleratorKeyEnabled

    CoreWebView2BrowserExtension
    CoreWebView2BrowsingDataKinds
        ServiceWorkers

    CoreWebView2CustomSchemeRegistration
        CoreWebView2CustomSchemeRegistration (String)
        AllowedOrigins
        SchemeName

    CoreWebView2Environment
        GetProcessExtendedInfosAsync

    CoreWebView2EnvironmentOptions
        AreBrowserExtensionsEnabled
        CustomSchemeRegistrations

    CoreWebView2Frame
        FrameId

    CoreWebView2FrameInfo
        FrameId
        FrameKind
        ParentFrameInfo

    CoreWebView2FrameKind
    CoreWebView2MouseEventKind
        NonClientRightButtonDown
        NonClientRightButtonUp

    CoreWebView2NavigationKind
    CoreWebView2NavigationStartingEventArgs
        NavigationKind

    CoreWebView2NewWindowRequestedEventArgs
        OriginalSourceFrameInfo

    CoreWebView2ProcessExtendedInfo
    CoreWebView2Profile
        AddBrowserExtensionAsync
        Delete
        Deleted
Microsoft.Windows.Management.Deployment
 
    AddPackageOptions
    EnsureReadyOptions
    PackageDeploymentContract
    PackageDeploymentManager
    PackageDeploymentProgress
    PackageDeploymentProgressStatus
    PackageDeploymentResult
    PackageDeploymentStatus
    PackageRuntimeManager
    PackageSet
    PackageSetItem
    PackageSetItemRuntimeDisposition
    PackageSetRuntimeDisposition
    PackageVolume
    ProvisionPackageOptions
    RegisterPackageOptions
    RemovePackageOptions
    StagePackageOptions
    StubPackageOption
Microsoft.Windows.Widgets.Feeds.Providers
 
    CustomQueryParametersRequestedArgs
    CustomQueryParametersUpdateOptions
    FeedDisabledArgs
    FeedEnabledArgs
    FeedManager
    FeedProviderDisabledArgs
    FeedProviderEnabledArgs
    FeedProviderInfo
    IFeedManager
    IFeedProvider