.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
项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨客淘金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值