自己记录一下怕自己以后都忘记了。

言归正传,对于窗口之间的传值我第一时间先到的就是在子窗口定义一个变量,在父窗口打开子窗口的时候,给子窗口中的变量赋值,从而实现窗口直接的传值。

但是回头想了一下,我现在需要的是让值传到子窗口的ViewModel里面去做数据的处理,我这样做就只能传达窗口里面去,然后在从窗口传到窗口对于的ViewModel中去,然后在去做数据的处理,这样做又觉得有点过于复杂了。

为了不过于复杂的去写,在思考着个问题的时候,突然灵光乍现,想到了一个取巧的方法。

就是父窗口和子窗口都使用同一个ViewModel,这样就不用去做什么窗口之前的传值了,只需要在ViewModel中定义好变量然后进行赋值,子窗口就能直接取到值了。

首先说我的ViewModel是用SimpleIoc注入的。

SimpleIoc.Default.Register<MenuViewModel>();

public MenuViewModel MenuViewModel
        {
            get
            {
                return ServiceLocator.Current.GetInstance<MenuViewModel>();
            }
        }

在页面中

DataContext="{Binding Source={StaticResource Locator},Path=MenuViewModel}"

这种写法只能说取巧。

当然我也不知道这种写法有没有大佬们做过,如有雷同,纯属巧合。哈哈哈哈

WPF MVVM 下窗口之间的传值相关推荐

  1. WPF MVVM下用户控件的Visibility属性绑定问题

    现象:发现用户控件 通过 MVVM 绑定 Visibility 属性 没有效果,发现问题由下面代码产生: 绑定的 Visibility 属性没有效果, 注释该代码后 MVVM下绑定Visibility ...

  2. c# 子窗口与父窗口之间的传值

    //首先定义两个Form,一个为Form1,一个为Form2,其中Form1作为父窗口,Form2作为子窗口//1.父窗口传值给子窗口//Form1中代码:public Form1(){Initial ...

  3. python多窗口传递信息,认识QT ----- 多窗口以及窗口之间的传值

    在很多软件中,都有这样一个设定:点击菜单栏中的某一个选项,软件将弹出一个新的窗体,用户在该窗体上进行简单的设置,于是主窗体会根据设定做出相应的改变. 这次我将来尝试一下,具体任务如下: QMainWi ...

  4. Qt窗口之间传值和结构体数据

    简单明了,看效果+看代码 主窗口向子窗口进行传值和传结构体数据 子窗口向主窗口进行传值和传结构体数据 子窗口界面 主窗口界面 dialog.h #ifndef DIALOG_H #define DIA ...

  5. C# WPF MVVM模式Prism框架下事件发布与订阅

    01 - 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事 ...

  6. C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅

    01 - 前言 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间 ...

  7. wpf mvvm模式下CommandParameter传递多参

    wpf mvvm模式下CommandParameter传递多参 原文:wpf mvvm模式下CommandParameter传递多参 CommandParameter一般只允许设置一次,所以如果要传递 ...

  8. WPF MVVM从入门到精通1:MVVM模式简介

    WPF MVVM从入门到精通1:MVVM模式简介 原文:WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录 ...

  9. WPF自学入门(十一)WPF MVVM模式Command命令 WPF自学入门(十)WPF MVVM简单介绍...

    WPF自学入门(十一)WPF MVVM模式Command命令 在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式.正 ...

最新文章

  1. pyqt5入门教程(七)
  2. 杭电1241java实现dfs
  3. SpringBoot整合MyBatis-Plus分页查询
  4. OpenCV相机校准camera calibration的实例(附完整代码)
  5. mysql 如何用一条SQL将一张表里的数据插入到另一张表 3个例子
  6. phpcmsV9网页http路由静态化设置——URL地址规则
  7. sharding-jdbc水平分库与垂直分库
  8. 格力电器上半年净利94.57亿元,同比增长48.64%
  9. html 图片移动动画,HTML5移动端图片左右切换动画DEMO演示
  10. stl之截取:以一段字符串截取字符串
  11. android仿微信图片编辑库,Android仿微信朋友圈添加图片
  12. html 前端分页代码怎么写,纯JavaScript实现的前端分页代码
  13. 乘坐民航客机能带多大容量充电宝
  14. java微信二维码登录
  15. win11电脑开移动热点,但是手机连不上
  16. substrate中打印调试信息的多种方式详解
  17. 服务器重启django项目
  18. 文件上传upload-labs第四关
  19. html语义化标签是什么,HTML语义化标签探析
  20. 一文搞懂lib中physical cell

热门文章

  1. 命理之夏令时:给你一次重生的机会
  2. idea中发生Can't load IA 64-bit .dll on a AMD 64-bit platform错误
  3. 2007-03-02 日志 TMD,这世道! 1
  4. 国内大模型领域进入乱战时代
  5. Hive MetaStore常用的元数据在Mysql中对应的表
  6. 欧几里得算法时间复杂度简单分析
  7. 交通诱导信息发布系统服务器,高速公路交通诱导信息发布系统设计与实现
  8. OpenTSDB的故障排除
  9. HCIE-RS 论述题 组播地址的处理方式
  10. 安豆苗:豌豆荚和棒普的混合体 无流量消耗的近场同步软件