news 2026/4/16 14:08:47

WPF MVVM模式下绑定两个ViewModel导致View不触发更新

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WPF MVVM模式下绑定两个ViewModel导致View不触发更新

正常是一个View对应一个ViewModel

然后View的DataContext是ViewModel。

View中的命令和显示数据都绑定在ViewModel中。

我在工作中遇到了一个错误,在一个ViewModel中改变属性的值,不会反馈到界面上。

调试得知,这个ViewModel中经过了两次构造,也就是生成了两个对象。

假设这两个ViewModel分别是VMA和VMB;

其中我的View的命令绑定在了VMA中的方法,View的显示数据数据绑定在了VMB中。

所以当我触发命令时,实际上是吧VMA中的数据更新了,VMB中并没有更新,导致界面数据不发生改变;

导致这种问题的原因是因为我在xaml文件中和xaml.cs都编写了绑定代码,但是我在xaml.cs文件中又重新获取了一个ViewModel对象。

xaml中:

界面后台绑定的对象是反序列化得到的。

xaml.cs中:

ViewModel是我重新在ioc容器中获取的。问题就出现在这里,反序列化得到一个,ioc容器中得到一个,导致混乱。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 21:10:57

设计模式在C++中的实现

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value):查找第一个等于 value 的元素,返回迭代器(未找到返回 end)。find_if(begin, end, predicate):查找第…

作者头像 李华
网站建设 2026/4/13 17:29:21

基于最小均方算法的半球谐振子特征参数辨识方法

1. 论文中文标题 基于最小均方算法的半球谐振子特征参数辨识方法 2. 论文主要内容概括 本文针对半球谐振陀螺(HRG)核心元件——半球谐振子(HSR)缺乏有效性能量化评估方法的问题,提出一种基于最小均方(LMS)算法的特征参数辨识方法。该方法通过构建非理想谐振子的正交误…

作者头像 李华
网站建设 2026/4/13 17:29:19

高校院所科技成果转化的生态协同之道,数智平台引领产业与学术双赢

在当今创新驱动发展的时代背景下,高校院所作为科技创新的重要源头,其科技成果的转化效率直接关系到国家产业升级和经济高质量发展。然而,在传统模式下,科技成果转化面临信息壁垒高、供需不对称、流程复杂等痛点,这些问…

作者头像 李华
网站建设 2026/4/13 17:29:18

基于带领导者的一阶多智能体系统一致性matlab仿真分析

目录 1.前言 2.算法测试效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法理论概述 5.1 系统建模 5.2 控制率设计 5.3 一致性分析 5.4 加入状态预测器优化 6.参考文献 7.算法完整程序工程 1.前言 带领导者的一阶多智能体系统中,领导者为动态节点&…

作者头像 李华
网站建设 2026/4/13 17:29:16

8个秘诀优化YashanDB的性能与扩展性

在数据库技术发展迅速的当今,如何优化查询速度和提升性能成为每个开发和运维人员面临的挑战。YashanDB作为一款高性能的数据库,在处理高并发与大数据量场景中,其性能和扩展性显得尤为重要。本文将深入探讨8个有效的优化秘诀,帮助用…

作者头像 李华
网站建设 2026/4/12 23:59:54

8个提升YashanDB使用效率的方法,助你少走弯路

在数据库技术中,如何有效地利用和优化数据库成为了关键问题。以YashanDB为例,优化查询速度、提高事务处理能力等全都直接影响到业务的性能与响应速度。这不仅关乎用户体验,也关乎企业的整体运行效率。因此,本文将探讨8个具体的方法…

作者头像 李华