记一次Microsoft.Toolkit.Mvvm(MVVM Toolkit)的兼容性问题
今天在目标框架为framework4.6.1的wpf项目中使用Microsoft.Toolkit.Mvvm7.1.1出现了一个比较怪异的编译时错误,前提是打开了 工具>选项>环境>预览功能>适用于NET Framework的新版WPF XAML设计器(需要重启) 。Visual Studio 2019 (16.10以上版本)
相关链接:https://docs.microsoft.com/zh-cn/visualstudio/xaml-tools/xaml-design-time-sample-data?view=vs-2019
一、定义如下类:
public class Class1 : Microsoft.Toolkit.Mvvm.ComponentModel.ObservableObject
{ }
然后在xaml文件中使用它:
<Window.Resources>
<local:Class1 x:Key="bbb"/>
</Window.Resources>
标红处报错: XDG004无法分配指定的值。应是以下类型:"Object" 。该错误导致当前xaml设计器无法正常显示,但启动程序的话,正常运行。
二、将xaml代码改为:
<Window.DataContext>
<local:Class1 x:Name="aaa"/>
</Window.DataContext>
标红处报错报错: XDG004无法分配指定的值。应是以下类型:"Object" XDG004附加的属性"Name"只能应用到从"Obiect"派生的类型。 。同样导致当前xaml设计器无法正常显示,启动程序的话,正常运行。
三、修改了 Class1 类,将其父类删除后程序没有报错。
public class Class1
{ }
四、将 Microsoft.Toolkit.Mvvm.ComponentModel.ObservableObject 重新作为 Class1 类的父类,并将 工具>选项>环境>预览功能>适用于NET Framework的新版WPF XAML设计器(需要重启) 关闭。
将 工具>选项>环境>预览功能>适用于NET Framework的新版WPF XAML设计器(需要重启) 关闭后,程序不再报错。
五、另创一个基于.net 5的wpf项目如上进行实验,错误全部消失了。
总结:.net framework框架下的wpf项目使用Microsoft.Toolkit.Mvvm,在Visual Studio 2019 (16.10以上版本)开启工具>选项>环境>预览功能>适用于NET Framework的新版WPF XAML设计器(需要重启)功能时,会出现兼容性问题。不清楚问题产生的原因与是否还有其它隐患。
相关链接:https://docs.microsoft.com/zh-cn/windows/communitytoolkit/mvvm/introduction
记一次Microsoft.Toolkit.Mvvm(MVVM Toolkit)的兼容性问题的更多相关文章
- Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架
Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架 本章节,我将通过示例介绍如何搭建mvvmlight开发环境.示例中的我会针对wpf ...
- [WPF] 使用 MVVM Toolkit 构建 MVVM 程序
1. 什么是 MVVM Toolkit 模型-视图-视图模型 (MVVM) 是用于解耦 UI 代码和非 UI 代码的 UI 体系结构设计模式. 借助 MVVM,可以在 XAML 中以声明方式定义 UI ...
- MVVM Light Toolkit使用指南
原文:MVVM Light Toolkit使用指南 原文地址: https://blog.csdn.net/ldld1717/article/details/77040077 概述 MVVM Lig ...
- MvvmLight学习篇—— Mvvm Light Toolkit for wpf/silverlight系列(导航)
系列一:看的迷迷糊糊的 一.Mvvm Light Toolkit for wpf/silverlight系列之准备工作 二.Mvvm Light Toolkit for wpf/silverlight ...
- How to install MVVM Light Toolkit via NuGet
Here is how you can install MVVM Light Toolkit via NuGet in an easy way using only Visual Studio. S ...
- Mvvm Light Toolkit 入门
原文:Mvvm Light Toolkit 入门 前言 之前学习UWP的时候就一直看到有关MVVM的资料但是一直没有系统的去学,最近正好有时间,特地来攻破这个点,顺便学习一下VS与GitHub的链接和 ...
- Microsoft Dynamics 365 Developer Toolkit下载地址
下载,支持Visual Studio 2012, 2013, 2015
- 记VS2008初始化Microsoft Visual Sourcesafe源码管理提供程序时失败
之前vs2008开发一直都好好,不知道为什么如今的vs2008打开和关闭都老是弹出这这个初始化Microsoft Visual Sourcesafe源码管理提供程序时失败的错误 解决方法非常easy: ...
- 记一次 Microsoft.Bcl.Async 使用经验
起因: 由于公司项目使用场景存在很多的XP环境,导致使用.NET Framework版本不能大于4.0版本.最近开发新功能时:从nuget上下载一个开源dll(该dll 4.0 版本依赖 Micros ...
- A Simple MVVM Example[Forward]
In my opinion, if you are using WPF or Silverlight you should be using the MVVM design pattern. It i ...
随机推荐
- 【Mybatis】学习笔记02:实现简单的查
Mybatis02:简单的查 如果你没先去学 增删改 ,然后直接看这篇记录,我想会有些困难.因为该文写的很粗劣,只是简单的截图.所以没基础的建议先去看 [Mybatis]学习笔记01:连接数据库,实现 ...
- Win10正式专业版激活方法
首先,我们先查看一下Win10正式专业版系统的激活状态: 点击桌面左下角的"Windows"按钮,从打开的扩展面板中依次点击"设置"-"更新和安全 ...
- 龙哥量化:通达信(KT交易师)分时图主图叠加5分钟K线图
股友要求在通达信分时图主图叠加5分钟K线,但是通达信的分时图取不到最高价,最低价等数据,限制非常多. 然后我在KT交易师上写的公式测试成功了,效果如下. 如果您需要公式源码或者代写公式, 请联系我. ...
- Qt数据库应用21-数据分组导出
一.前言 数据分组导出和打印这个需求并不是近期的需求,而是之前做温湿度监控系统的时候提的需求,当然也有几个系统用到了,比如啤酒保鲜监控系统.这个需求的应用场景是,有很多个设备,每个设备都产生了很多的运 ...
- Qt编写项目作品35-数据库综合应用组件
一.功能特点 同时支持多种数据库比如odbc.sqlite.mysql.postgresql.sqlserver.oracle.人大金仓等. 一个数据库类即可管理本地数据库通信,也支持远程数据库通信等 ...
- MIPI/LVDS/PCIE/HDMI 设计规范
参考链接: 1.MIPI/LVDS/PCIE/HDMI 2.接口简介(HDMI .eDP/DP.LVDS.VGA.YPbPr.DVI.MHL.MIPI-DSI.VbyOneHS) 3.干货 | 带 ...
- Web端IM聊天消息该不该用浏览器本地存储?一文即懂!
本文由转转技术团队刘筱雨分享,原题"一文读懂浏览器本地存储:Web Storage",下文进行了排版和内容优化. 1.引言 鉴于目前浏览器技术的进步(主要是HTML5的普及),在W ...
- 在Ubuntu WSL2里配置GDAL Docker环境
在Ubuntu WSL2里配置GDAL Docker环境 启用systemd # Ubuntu中执行 echo -e "[boot]\nsystemd=true" | sudo t ...
- Mac terminal proxy
cat >> ~/.bash_profile << EOF function proxy_on() { export http_proxy=http://127.0.0.1:7 ...
- 「V 曲闲谈」《宠儿》——谁凌迟着梦想家
反正个人博客啥都能写是吧.( 严格来说,这并不是对歌曲或者 PV 的解析,仅仅是记录这首歌带给我的一些感触. 参考:狐狸座 ver & 艾尔法 ver. 按照简介,歌曲的内容似 ...