何时何地使用 mvvmlight 取消注册 Messenger

2024-01-28

我用 mvvmlight 构建了一个项目。使用 Messenger 在 VM 之间或 VM 与 View 之间发送消息。现在,我想知道何时何地取消注册Messenger。你能帮我吗?

Edited:

这是我的场景:

有一个MainWindow和一个ChildWindow,ChildWindow(包括一个由两个不同UserControl之一组成的ContentControl),通过ChildWindow中的SwitchButton更改ContenControl。每个窗口或 UserControl 对应一个 ViewModel。

  1. MainViewModel发送消息至MainWindow打开ChildWindow;
  2. MainWindow打开ChildWindow(首先使用UserControlView1,不要使用UserControlView2),并发送消息至UserControl1ViewModel做一点事;
  3. 如果用户单击取消按钮,ChildWindowViewModel发送消息至ChildWindow关闭;
  4. If ChildWindowViewModel fire UnloadedCommand, ChildWindow向每个发送一条消息UserControlViewmodel清理一些东西。

注册和注销messenger的操作是放在View或ViewModel的构造函数和析构函数中,还是放在LoadedCommand和UnloadedCommand的委托方法中? View的Loaded和Unloaded的命令绑定到LoadedCommand和UnloadedCommand。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时何地使用 mvvmlight 取消注册 Messenger 的相关文章

随机推荐

  • 如何通过 RxJs 合并或 groupBy toPromise?

    我有以下方法返回结果 如下所示 result status 200 status 200 status 400 我需要使用状态值对结果进行分组 并且对于上面的示例结果仅返回 2 个结果 而不是 3 个 update this demoSer
  • 这个Makefile 有什么问题吗?

    当我在以下 Makefile 上运行 make all 时 出现此错误 Makefile 5 缺少分隔符 停止 这是什么问题以及如何修复它 LEX lex YACC yacc CC gcc calcu y tab o lex yy o CC
  • GCC 左移溢出

    下面的小程序在 Mac 上使用 GCC 版本 4 2 1 Apple Inc build 5664 非常尴尬 include
  • Node+Express+MongoDB Native Client 性能问题

    我正在使用 MongoDB 测试 Node js ExpressJS Fastify Python Flask 和 Java 带有 webflux 的 Spring Boot 的性能 我将所有这些示例应用程序相继托管在同一台服务器上 因此所
  • 如何调试 GLSL 着色器?

    我需要调试 GLSL 程序 但我不知道如何输出中间结果 是否可以使用 GLSL 进行一些调试跟踪 例如使用 printf 而不使用像 glslDevil 这样的外部软件 您无法轻松地从 GLSL 内部与 CPU 进行通信 使用 glslDe
  • 如何仅显示一次网站预加载器

    我向我的网站添加了预加载器 每次访问该网站时都会播放预加载器动画 我希望它在每次访问域名时只播放一次 任何点击网站上的主页按钮或浏览器中的后退按钮我希望跳过预加载器 我希望它在任何时候在新选项卡或新浏览器窗口中打开时都显示出来 我尝试添加c
  • Python 日志记录:覆盖日志时间

    下列的Python 的文档 http docs python org library logging html logging Formatter formatTime 我正在尝试覆盖logging Formatter converter以
  • 新类型比枚举更快吗?

    根据本文 http www haskell org haskellwiki Performance Data types 就 GHC 而言 枚举不算作单构造函数类型 因此当用作严格构造函数字段或严格函数参数时 它们不会从解包中受益 这是 G
  • 如何处理 SVG 像素捕捉

    我正在尝试使用路径元素渲染两条 svg 线 第一行宽度为 1px 并且很锐利 第二条线宽度为 2px 并且很模糊两者的笔划宽度相同 如何解决这个问题
  • 防止在 Ruby 中将字符串转换为八进制数

    假设我们有以下 ruby 代码 require yaml h key gt step1 gt 0910 1223 puts h to yaml 0910 是一个字符串 但是之后to yaml转换 字符串变成八进制数 key step1 09
  • 哪一个 NoSQL 数据库(如果有)可以为查询结果集提供*更改*流?

    哪个 NoSQL 数据库 如果有的话 可以提供changes到查询结果集 有人能给我举一些例子吗 首先 我相信没有一个 SQL 数据库提供此功能 我是对的吗 我需要能够指定任意 简单的查询 其在 SQL 中的等价形式可以写成 SELECT
  • 控制 zenity 窗口中内容的大小?

    我可以控制 a 的大小zenity http en wikipedia org wiki Zenity窗口与 width和 height论点 zenity info text This is an information box width
  • Angular ui-select:如何仅将选定的值绑定到 ng-model

    scope property new Property scope property propertyType scope propertyTypes value ResidentialPlot name Residential Plot
  • 现有内部主题具有无效分区

    当在只有一个 Kafka 代理的测试设置中启动我们的 Kafka Streams 应用程序时 我们大约在 15 次运行中看到以下错误 org apache kafka streams errors StreamsException Exis
  • 如何将特定标签/版本与作曲家和私有 git 存储库一起使用?

    我在我公司的 Gitlab 上托管了一些包 我想请求这些包的特定版本 但每次尝试时 composer 都会下载 master 分支的最新提交 作曲家 json name MyProject require user project v0 5
  • 从 Powershell 传递实际的返回代码

    我有一个命令行 exe 实用程序 需要内联密码才能调用 显然 这并不理想 因此我创建了一个 PS 包装器来加密密码并存储它 从 PSCredential 对象调用它 所有这些都工作正常 但我需要错误处理 如果我添加exit LASTEXIT
  • 使用反射打印列表

    public class Service String serviceName setter and getter public class Version int VersionID setter and getter public vo
  • 作为模板参数的通用成员函数指针

    考虑这段代码 include
  • .NET CLR 内部调用

    有没有办法托管 NET CLR 运行时并注册 MethodImplOptions InternalCall 函数 这不是关于 P Invoke 的主题 SSCLI代码 具体是clr src vm ecall cpp 提示没有办法注册Inte
  • 何时何地使用 mvvmlight 取消注册 Messenger

    我用 mvvmlight 构建了一个项目 使用 Messenger 在 VM 之间或 VM 与 View 之间发送消息 现在 我想知道何时何地取消注册Messenger 你能帮我吗 Edited 这是我的场景 有一个MainWindow和一