⑴据了解 微软公司在近日针对用户推送了新的Windows社区工具包,在这次更新中包括了改进和新功能。
⑵如果您是 Toolkit 的新手,Windows munity Toolkit 是帮助程序、扩展和自定义控件的集合。它简化并演示了为 Windows 构建 UWP 和 . 应用程序的常见开发人员任务。该工具包是 . Foundation 的一部分。在开始项目之前,您可以下载我们的示例应用程序游乐场以发现和试用 Toolkit 组件。
⑶此更新包括身份验证助手、Microsoft Graph 控件、在 XAML 中向应用添加阴影的最简单方法、新的 RichSuggestBox 控件等等!我们甚至预览了对 MVVM Toolkit 库的源生成器支持。
⑷今年我们也有很多令人兴奋的消息。请务必在我们上一篇关于WinUI 版本的文章中了解我们正在使用Windows 应用程序 SDK做什么(当时它仍被称为 Project Reunion。我们将来会有更多的更新——WinAppSDK 刚刚发布了他们的. Preview 版本,以便他们达到他们的 . 版本,请继续关注这里的更新。 我们还扩大了我们的组织以使用 MAUI 社区工具包,并将很快将我们的 . 特定库拆分为他们自己的 . 社区工具包,请在此处阅读所有相关内容。
⑸与往常一样,请务必在此处阅读我们的发行说明。在下面查看有关这些更改和新功能的更多详细信息。
⑹Microsoft Identity Authentication Helpers、OneDrive Storage 和 Microsoft Graph Controls – ? Shane Weaver
⑺我们的 Microsoft Graph 产品是 . 的新功能和改进,已脱离其先前的预览阶段,并通过新的帮助程序和提供程序进行了彻底检查和简化,以使用 Microsoft Identity 进行身份验证和调用 Graph API。我们从社区收到了很多很好的反馈,我们希望这些反馈能帮助开发人员开始运行、验证用户身份和调用 Microsoft Graph API!
⑻此外,请务必查看我们的完整 ContosoNotes 示例 ,其中展示了如何利用这些 API 并为用户在其应用程序和设备上创造出色的体验。
⑼身份验证提供程序
⑽在此版本中,我们引入了各种新的身份验证包:
⑾*.Msal 包中可用的 MsalProvider 是 . Standard .,可跨多个系统工作。此提供程序更适合支持跨平台或复杂的身份验证方案。对于 UWP 应用,请尝试使用 WindowsProvider 以获得更轻量级的包。
⑿图形驱动控件和 OneDrive 助手
⒀接下来,我们将以两个新包的形式重新介绍我们的 Graph 控件和助手:
⒁*.Graph 包包括 Graph 支持的扩展和帮助程序,用于与 . Graph SDK 交互并向 Graph API 发出经过身份验证的请求:
⒂扩展 – 在任何 IProvider 实例上调用 GetClient( 或 GetBetaClient( 以按需访问预先配置的 GraphServiceClient。
⒃OneDriveStorageHelper 和 UserExtensionStorageHelper – 用于在基于图形的存储位置(例如 OneDrive 或图形用户对象上的打开扩展中存储设置和文件数据的新帮助程序。
⒄同时,*.Graph.Uwp 包具有用于增强基于图形的 UWP 应用程序的用户控件和帮助程序:
⒅控件 – LoginButton、PeoplePicker 和 PersonView(GraphPresenter 仍处于试验阶段。
⒆ProviderStateTrigger – 用于检测全局身份验证提供程序何时登录的 StateTrigger。
⒇ElementExtensions.IsVisibleWhen – FrameworkElement 上的扩展,用于声明元素可见性行为以响应身份验证更改。
⒈附加阴影 – ? Chris Blackman和Michael Hawker
⒉移到 DropShadowPanel 上,你好 Attached Shadows!附加阴影可以更轻松地将这种出色的深度效果添加到您的应用程序中,现在无需修改您的布局!他们甚至在 Microsoft Store 应用程序中使用!
⒊DropShadowPanel 是 Toolkit 中最流行的控件之一,但它的大问题是它需要环绕要显示阴影的内容。这使得在开发后期添加阴影变得棘手,因为它会影响您对整个元素的布局。
⒋现在有了附加的阴影,你可以把它们撒在任何需要的地方。它们甚至可以应用于样式以一次更新应用程序中的多个元素!它们甚至与我们上次发布的新 XAML 动画系统挂钩,因此一切都可以无缝协作!
⒌此版本中有两种类型的附加阴影:AttachedCardShadow 和 AttachedDropShadow。在此处阅读我们的文档,其中概述了最好在何处使用每种类型的阴影。
⒍使用 WinD 的 AttachedCardShadow
⒎AttachedCardShadow 是一个基于矩形的阴影(支持圆角,可以直接应用于元素而无需任何其他配置。如果您不介意它需要的 WinD 依赖项,它应该是您新的首选阴影选项。
⒏使用组合的 AttachedDropShadow
⒐AttachedDropShadow 支持透明图像、形状和文本的遮罩阴影。它使用组合层,因此可以与任何 UWP 应用一起使用。它继承了 DropShadowPanel 的实现,但它的工作方式有点不同。请务必查看我们的文档和示例以了解更多信息。
⒑RichSuggestBox – ? Tung Huynh
⒒RichSuggestBox 是一个 RichEditBox,它提供了能够从建议列表中选择标记的附加功能,例如“”在聊天消息中提及某人或标记要包含在注释中的文档。它提供了与我们的 TokenizingTextBox 控件提供的类似模式,但它不仅仅用于一组固定元素,它还允许更多自由格式的文本输入散布元数据。
⒓WinUI . 和其他改进!
⒔我们已更新为基于新 WinUI . 和 . 更新的控制包,其中还包括更新的样式。随着时间的推移,我们将继续使用新的设计指南更新我们的控件样式。
⒕? Rosario Pulella 和 ? Darren Batchelor更新了对 WinUI . 的 依赖
⒖更新 颜色拾取 由 ?罗伯特Looyengoed 和 TabbedmandBar 通过 ?耀西Askharoun 使用WinUI控件基地。
⒗新 MetadataControl 通过 ?文森特Gromfeld
⒘? Chris Blackman和 《 蓮 /》 Michael Hawker 的新 ConstrainedBox 控件(也在 Microsoft Store 应用程序中使用!
⒙SmoothScrollIntoView延伸 通过 ?维杰尼尔默尔
⒚AutoSelectBehavior 通过 ?朱利安Brianceau
⒛上一个版本 由 ? Emiliano Maglioa 安装
①ListDetailsView使用两个窗格视图通过? 费边绍特
②ControlSizeTrigger视觉状态触发器? Daniel Paulino
③KeyDownTriggerBehavior by ? Sébastien Lachance
④MVVM 源生成器 [预览] – ? Sergio Pedri
⑤MVVM 工具包现在支持 源生成器(预览版。这使库更灵活、更易于使用, 甚至更高效!
⑥以下是一些正在运行的源生成器属性的小示例。在 左侧 是使用MVVM工具包,你今天会原来手写的例子。在 右边 的是你如何使用新的属性自动生成完全相同的代码!
⑦您已经可以看到 Source Generators 可以使您免于编写额外的“样板”类型代码的影响!勞
⑧这一全新功能的开发与 MVVM 工具包的原始核心原则相同:模块化和“点菜”。这意味着源生成器支持与 MVVM 工具包捆绑在一起,但仍然是完全可选的:您可以在任何地方自由使用它,根据需要混合和匹配,或者完全忽略它;这完全取决于你!
⑨以下是新功能的细分:
⑩在 [ObservableProperty]属性创建从仅仅场和注释创建观察特性的超紧凑的方式。 [AlsoNotifyChangeFor] 还可用于为另一个依赖属性引发更改通知。
Ⅰ在 [Imand接口] 属性将让你在一个视图模型注释的方法和生成所有相应的命令属性。这包括对通用命令和异步命令的支持:只需注释返回任务的异步方法即可!
Ⅱ您还可以使用[INotifyPropertyChanged]、 [ObservableObject]、 [ObservableRecipient]或 [ObservableValidator]注释一个类, 以注入使用这些 MVVM 助手所需的所有样板代码,同时仍然从其他基类继承!您还可以使用它来混合继承自 ObservableRecipient ,然后添加 [ObservableValidator] 属性以组合来自两个类的所有 API。
Ⅲ在新功能和性能改进方面,未来还有更多计划!
Ⅳ介绍 Toolkit 实验室 離
Ⅴ随着 Windows 社区工具包的发展,我们提高了代码质量和用于审查引入的新功能的过程的标准。这有助于我们的社区知道他们在我们的每个版本中都获得了高质量的项目,但它可能会减慢我们的创新步伐。
Ⅵ创新一直是工具包的生命。快速原型化想法、收集社区反馈和运送人们需要的东西对 Toolkit 的工作方式起到了重要作用。为此,我们推出了“社区工具包实验室”。
Ⅶ实验室将是我们可以在正常代码库和交付周期之外的安全空间中孵化和开发新功能的地方。在不必担心在 Toolkit 中发布完全充实的想法和功能所需的文档、示例和测试之前,开始编写代码和与他人协作会更容易。
Ⅷ将来,我们计划建立一个集中的 Labs 存储库,用于提议、孵化和与社区合作的较小功能和控件。请留意未来有关这个新空间的更多信息。
Ⅸ我们将在我们的公共 DevOps 包提要中为 Toolkit Labs 提供一个专用的 NuGet 提要。您可以在我们的 Wiki 上找到有关这些类型的 预览源的更多信息。
Ⅹ我们可能还有更大的想法,在实验室的旗帜下有自己的存储库,就像我们今天介绍的第一个。。。。。。
㈠智能 API – ? Amrutha Srinivasan
㈡“智能 API”是一个项目,其目标是让开发人员更容易在他们的应用程序中利用机器学习,而无需 ML 专业知识!通过仅导入 NuGet 包并调用函数,我们希望开发人员能够构建智能应用体验,而无需处理在 Windows 上创建和使用机器学习模型的复杂性。
㈢我们目前正在通过将两个现有的最先进模型包装到 NuGet 包中来试验这个概念。它们使开发人员能够通过单个函数调用快速轻松地将图像分类和对象检测功能添加到他们的项目中。
㈣在此处了解有关如何开始使用智能 API 的更多信息。
㈤凝视控制 – ? Harish Kulkarni
㈥这些新的凝视控件可以为主要输入形式是使用眼睛的用户提供支持。这些控件首先设计用于 Gaze 交互,高于其他形式的输入。它们包括一个 FilePicker、一个键盘和一个滚动条。在此处了解更多信息或为他们的专用存储库做出贡献。
㈦Windows 应用 SDK 预览(正式名称为 Project Reunion
㈧正如您所希望的那样,我们一直在提供适用于 WinUI 的 Toolkit 版本以及它们作为Windows App SDK 的一部分的版本。我们发布了一个工具包版本,它适用于 Windows App SDK .. 版本的带有 . 的桌面应用程序。在此处了解有关如何尝试此操作的更多详细信息,提醒这些基于 WinUI 的软件包使用munityToolkit.WinUI.*作为根目录,而不是Microsoft.Toolkit.UWP。我们将在未来提供有关即将发布的 . 版本支持的更多信息,并计划发布包含我们 . 更改的更新。
㈨今天就开始吧!?
㈩此版本中有大量修复、其他帮助程序和来自我们社区的全面改进,因此请务必访问我们的发行说明以了解所有详细信息!
提醒一下,您可以按照我们的 docs.microsoft. 教程开始使用,或者通过从 Microsoft Store安装Windows munity Toolkit Sample App(它也链接到每个文档页面来预览最新功能。如果您想做出贡献,请加入我们的 GitHub并查看我们的 Wiki!要关注 Twitter 上的对话,请使用#munityToolkit主题标签或加入我们的UWP munity Discord频道!
快乐编码!《 蓮 /》