.NET Framework WPF应用程序中直接使用CommunityToolkit.Mvvm工具库开发

#项目场景:需要在.NET Framework 4.7.2 WPF应用程序中直接使用CommunityToolkit.Mvvm库进行开发.

问题描述

#CommunityToolkit.Mvvm库具有自动代码生成器,能极大减小wpf程序开发的工作量,微软官方库:https://learn.microsoft.com/zh-cn/dotnet/communitytoolkit/mvvm/,支持NET Standard 2.0、 .NET Standard 2.1 和 .NET 6,可以在任何应用平台上使用:UWP、WinForms、WPF、Xamarin、Uno 等;和在任何运行时上:.NET Native、.NET Core、.NET Framework或 Mono。里面的异步Command确实很好用.
#但在直接建立的.NET Framework 4.7.2 库和应用程序项目中,遇到编译报错,无法正常运行.

解决方案:

1. 新建一个.netcore或者.net的Wpf项目

请添加图片描述

2. 双击项目,修改项目属性
将TargetFramework 修改为net472
增加属性LangVersion 9.0(MVVM 工具包中的源生成器功能要求使用项目将 C# 语言版本设置为至少 C# 8.0)

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <RootNamespace>Wpf.NET_FrameworkMVVMTookitDemo</RootNamespace>
    <UseWPF>true</UseWPF>
	<LangVersion>9.0</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" />
  </ItemGroup>

</Project>

3. 保存项目,重启VS
4. 通过Nuget 安装CommunityToolkit.Mvvm库
正常使用如下:

internal partial class MainWindowsViewModel : ObservableRecipient
    {
    
    
        /// <summary>
        /// 测试字段
        /// </summary>
        [ObservableProperty]
        private string text = "NET_FrameworkMVVMTookitDemo";

        /// <summary>
        /// 构造函数
        /// </summary>
        public MainWindowsViewModel()
        {
    
    

        }
    }

项目源码如下(VS2022):
https://download.csdn.net/download/qiangpi6057/88251507
项目源码

猜你喜欢

转载自blog.csdn.net/qiangpi6057/article/details/132471032