MVVM 工具包简介

CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为 Microsoft.Toolkit.Mvvm)是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分,围绕以下原则生成:

  • 独立于平台和运行时 - .NET Standard 2.0、.NET Standard 2.1 和 .NET 6🚀(与 UI 框架无关)
  • 易于选取和使用 - 对应用程序结构或编码范例(“MVVM”之外)没有严格的要求,也就是可以灵活使用。
  • 按需取用 - 自由选择要使用的组件。
  • 引用实现 - 精简且高效,为基类库中包含的接口提供实现,但缺少直接使用它们所需的具体类型。

MVVM 工具包由 Microsoft 维护和发布,是 .NET Foundation 的一部分。 它还由几个内置于 Windows 的第一方应用程序(如 Microsoft Store)使用。

此包面向 .NET Standard,因此可在任何应用平台上使用:UWP、WinForms、WPF、Xamarin、Uno 等;并且可在任何运行时上使用:.NET Native、.NET Core、.NET Framework 或 Mono。 它在所有这些平台和运行时上都可运行。 API 图面在任何情况下都相同,因此非常适合生成共享库。

此外,MVVM 工具包还有一个 .NET 6 目标,用于在 .NET 6 上运行时实现更多内部优化。 在这两种情况下,公共 API 图面都是相同的,因此 NuGet 将始终解析包的最佳版本,使用者无需担心有哪些 API 可以在其平台上使用的问题。

使用入门

若要在 Visual Studio 中安装包:

  1. 在“解决方案资源管理器”中,右键单击项目并选择“管理 NuGet 包”。 搜索“CommunityToolkit.Mvvm”并安装它。

    NuGet Packages

  2. 添加 using 或 Imports 指令以使用新 API:

    using CommunityToolkit.Mvvm;
    
    Imports CommunityToolkit.Mvvm
    
  3. 代码示例可从 MVVM 工具包的其他文档页和项目的单元测试中获取。

应何时使用此包?

使用此包可以访问标准、独立、轻量类型的集合,从而为使用 MVVM 模式生成现代应用提供初始实现。 仅这些类型就足以供许多用户生成应用,而无需额外的外部引用。

包含的类型有:

此包旨在提供尽可能大的灵活性,让开发人员可以自由选择要使用的组件。 所有类型都是松散耦合的,因此只需包含使用的内容。 不需要千篇一律地使用一系列特定的全能 API,在使用这些帮助程序生成应用时也不需要遵循某一套强制性模式。 以最符合你需求的方式组合这些生成块。

其他资源

  • 查看示例应用(适用于多个 UI 框架),以了解 MVVM 工具包的实际运行情况。
  • 还可以在单元测试中查找更多示例。