现在可以通过Nuget下载 Windows App SDK 1.0.0- Preview1。
SDK 1.0.0 版本带来了以下特性和改进:
用户界面 3
此版本的 WinUI 3 专注于构建 1.0 稳定版并修复错误。
- 新功能:预览版 1 中没有新功能。
- 已修复问题:有关此版本中解决的问题的完整列表,请参阅 我们的 GitHub 存储库。
有关详细信息或开始使用 WinUI 进行开发,请参阅:
开窗
此版本将我们在实验 1 中引入的 Windowing API 带入预览状态。此版本中没有主要的新功能区域,因为它专注于错误修复、稳定性和 API 签名的调整。下面列出了值得注意的更改和添加。
新功能:
- DisplayAreaWatcher 已添加到窗口 API。这允许开发人员观察显示拓扑的变化并枚举系统中当前定义的 DisplayAreas。
- AppWindow 现在支持通过SetIcon 方法设置窗口图标 , AppWindowTitleBar 现在支持通过IconShowOptions 属性选择是否与系统菜单一起显示/隐藏窗口图标 。
重要限制:
- 此版本的 AppWindow 目前仅适用于 Win32 应用程序(打包和未打包)。
- Windows App SDK 当前不提供将 UI 框架内容附加到 AppWindow 的方法;您只能使用 HWND 互操作访问方法。
- 窗口标题栏自定义仅适用于 Windows 11。使用 IsCustomizationSupported 方法检查标题栏自定义功能支持。我们打算将此功能降低级别。
有关更多信息,请参阅 管理应用程序窗口。
输入
此版本为 Input API 带来了一些新功能。下面列出了值得注意的更改和添加。
新功能和更新:
- PointerPredictor 使输入延迟敏感的应用程序(例如墨迹应用程序)能够预测未来长达15 毫秒的输入点位置,以实现更好的延迟和流畅的动画效果。
- PenDeviceInterop 使您能够 使用 FromPointerPoint 方法获取对Windows.Devices.Input.PenDevice的引用 。
- InputCursor 通过删除 中存在的“自定义”类型
CoreCursor
并将CoreCursor
对象拆分为单独的对象, 明确区分了预设系统光标类型和自定义光标类型 。 - InputCursor API 的更新 。
重要限制:
- 此版本的输入 API 在 Windows 版本 1809 中存在已知问题。
- InputCursor的任何子类型尚不支持 MRT Core 。
地铁核心
从版本 1.0 预览版 1 开始,MRT 核心 API 已从 Microsoft.ApplicationModel.Resources 命名空间移至 Microsoft.Windows.ApplicationModel.Resources 命名空间。
其他限制和已知问题
- 使用 C++ Blank App, Packaged with WAP (WinUI 3 in Desktop) 项目模板创建的项目默认遇到以下构建错误:
fatal error C1083: Cannot open include file: 'winrt/microsoft.ui.dispatching.co_await.h': No such file or directory
. 要解决此问题,请从pch.h 文件中删除以下代码行 。此问题将在下一个版本中修复。C++#include <winrt/microsoft.ui.dispatching.co_await.h>
- 如果你想
co_await
在 DispatcherQueue.TryEnqueue 方法,使用 resume_foreground 在辅助函数 的Windows实现库(WIL) :- 添加对Microsoft.Windows.ImplementationLibrary NuGet 包的引用 。
- 将该
#include <wil/cppwinrt.h>
语句添加 到您的代码文件中。 - 使用
wil::resume_foreground(your_dispatcher);
到co_await
的结果。
- 不支持任何 CPU 构建配置:Windows 应用 SDK 是用本机代码编写的,因此不支持 任何 CPU 构建配置。该 WinUI项目模板 只允许特定于体系结构的基础之上。当 添加Windows应用程序SDK ,以支持现有的.NET应用程序或组件 的任何CPU,则必须指定所需的架构:
x86
,x64
或arm64
。 - .NET 应用程序必须以 18362 或更高版本为目标:您的 TFM 必须设置为 18362 或更高
net5.0-windows10.0.18362
版本,并且您的打包项目<TargetPlatformVersion>
必须设置为 18362 或更高版本。有关更多信息,请参阅GitHub 上的 已知问题。 - 使用 1.0 Preview 1 的 C# 项目必须使用以下 .NET SDK:.NET 5 SDK 版本 5.0.400 或更高版本(如果您使用的是 Visual Studio 2019 版本 16.11)。
- Windows 10 版本 1809 不支持未打包的应用程序:这应该在下一个版本中解决。
阅读更多信息并在此处找到 Microsoft 的下载链接。