.NET Standard是.NET APIs的正式规范,可在多个.NET实现中使用。.NET Standard的动机是为了在.NET生态系统中建立更大的统一性。.NET 5及更高版本采用了不同的方法来建立统一性,这种方法消除了大多数情况下对.NET Standard的需求。但是,如果您想要在.NET Framework和任何其他.NET实现(例如.NET Core)之间共享代码,则您的库应该针对.NET Standard 2.0。不会发布新版本的.NET Standard,但.NET 5、.NET 6和所有未来版本将继续支持.NET Standard 2.1及更早版本。

Framework 中具体使用Toolkit.Mvvm

c#版本不能低于 8.0

直接改成 10.0

添加建的类库(.NET Standard)应用

具体使用

//UseMvvmToolkitFramework项目里引入.NET Standard项目里viewmodel数据
//UseMvvmToolkitFramework.cs
this.DataContext = new ViewModel();
//前台进行资源引入及数据绑定
xmlns:mvvm="clr-namespace:UseMvvmTookitFramwork.Mvvm;assembly=UseMvvmTookitFramwork.Mvvm"
d:DataContext="{d:DesignInstance mvvm:ViewModel}"
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" TextElement.FontSize="32">
<TextBox Width="200" Text="{Binding Message}" />
<Separator Margin="0,5" />
<Button Padding="10,0" HorizontalAlignment="Center"Command="{Binding ClickCommand}" Content="Click" />
</StackPanel> //UseMvvmTookitFramwork.Mvvm中view model数据
public partial class ViewModel : ObservableObject {
[ObservableProperty]
string message = "Hello world"; [RelayCommand]
void Click() {
Message = "Goodbye";
}
}

第二种方式

对Framework 项目升级(升级.csproj 文件)

https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-winforms-framework

总结:

  • .NET Standard c#不能低于 8.0
  • Framework 里的项目将 view model 摘出来放置到.NET Standard 项目里
  • 将.NET Standard 项目添加到Framework 项目引用里(主要借助 standard 里面的生成器)
  • 不管哪种方式主要是能使用 toolkit.mvvm 中的生成器

Framework 中使用 Toolkit.Mvvm 的生成器功能的更多相关文章

  1. 减小ipa体积之删除frameWork中无用mach-O文件

    最近项目末期, 我们团队为了ipa的大小使用不少的体积减小的方法, 除了一些常规的方法之外, 我分享一下自己研究出来的新思路. 首先我们来简单的介绍一下mach-O. 什么是mach-O? Mach- ...

  2. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块

    spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可 ...

  3. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中web相关的知识(概述)

    Spring Framework中web相关的知识 1.概述: 参考资料:官网documentation中第22小节内容 关于spring web mvc:  spring framework中拥有自 ...

  4. .NET Framework 中的字符编码

    字符是可用多种不同方式表示的抽象实体. 字符编码是一种为受支持字符集中的每个字符进行配对的系统,配对时使用的是表示该字符的某些值. 例如,摩尔斯电码是一种为罗马字母表中的每个字符进行配对的字符编码,配 ...

  5. Show 一下最新的动态属性扩展功能与键值生成器功能

    Show 一下最新的动态属性扩展功能与键值生成器功能 YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的功能:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件. ...

  6. ES6中的迭代器(Iterator)和生成器(Generator)

    前面的话 用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素 迭代器的使用可以极大地简 ...

  7. 如何处理Entity Framework中的DbUpdateConcurrencyException异常

    1. Concurrency的作用 场景 有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据) 正确的该User的年龄是25 ...

  8. Android Framework中的线程Thread及它的threadLoop方法

    当初跟踪Camera的代码中的时候一直追到了HAL层,而在Framework中的代码看见了许很多多的Thread.它们普遍的特点就是有一个threadLoop方法.依照字面的意思应该是这个线程能够循环 ...

  9. iOS在framework中使用CoreData出现崩溃问题及解决方法

    公司项目中有一个功能,保存授权令牌数据.最开始只有一条数据,所以就直接保存在了userdefaults中.后来需要两条数据,还是保存在userdefaults中,其中一条为固定的,另一条不固定可以进行 ...

  10. .NET Core 和 .NET Framework 中的 MEF2

    MEF,Managed Extensibility Framework,现在已经发布了三个版本了,它们是 MEF 和 MEF2. 等等!3 去哪儿了?本文将教大家完成基于 MEF2 的开发.   ME ...

随机推荐

  1. 可视化—AntV G6 紧凑树实现节点与边动态样式、超过X条展示更多等实用小功能

    通过一段时间的使用和学习,对G6有了更一步的经验,这篇博文主要从以下几个小功能着手介绍,文章最后会给出完整的demo代码. 目录 1. 树图的基本布局和使用 2. 根据返回数据的属性不同,定制不一样的 ...

  2. 案例: 利用 Hugging Face 进行复杂文本分类

    Witty 与 Hugging Face 专家加速计划的成功案例 如果你对如何更快构建 ML 解决方案感兴趣,请访问 专家加速计划 登陆页面并通过 填写表单 联系我们! 业务背景 随着 IT 技术不断 ...

  3. ACM-NEFUOJ-P239回文数

    #include<bits/stdc++.h> using namespace std; int n,p[1000],len,p1[1000]; int f() { int i; for( ...

  4. 一次线上OOM问题的个人复盘

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 上个月,我们一个java服务上线后,偶尔会发生内存OOM(Out Of Memory)问题,但由于OOM导致服务 ...

  5. 彻底弄懂C#中delegate、event、EventHandler、Action、Func的使用和区别

    [目录] 1 委托 2 事件-概念的引出 3 事件-关于异常 4 事件-关于异步 5 委托-Func与Action 1 委托 在.NET中定义"委托"需要用到delegate关键字 ...

  6. [JAVA/Maven/IDEA]解决JAR包冲突

    1 前言 想必这个问题,诸多同仁都遇到过. 很不凑巧,这段时间咱也屡次撞上这问题好几次了. 因此,实在是有必要说说怎么解决好这问题了0.0 2 诊断:包冲突的异常信息特征 [类定义未发现错误] NoC ...

  7. 【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例

    问题描述 查看官方文档" Get a user " , 产生了一个操作示例的想法,在中国区Azure环境中,演示如何获取AAD User信息. 问题解答 使用Microsoft G ...

  8. Linx 阶段一

    Linux Linux常用命令 具体演示 1). ls 2). pwd 3). touch 4). mkdir 5). rm 使用技巧 1. 连按 Tab健自动补齐文件名 2. ll 查看当前目录文件 ...

  9. Mac + IOS + Safari 抓取网络请求

    第一步:打开苹果手机 设置>Safari浏览器>高级>网页检查器 第二步:打开 Mac 上的Safari浏览器>偏好设置>高级>在菜单栏中显示"开发&qu ...

  10. Python 创建数字列表

    创建数字列表 用于存储数字集合,高效地处理数字列表 使用函数range() range(value1,value2),从指定的第一个值开始数,到达指定的第二个值后停止,输出不包含第二个值 使用rang ...