MVVM light - 如何访问其他视图模型中的属性

2024-02-22

我正在使用 mvvm light 构建 Silverlight 应用程序。 是否有代码片段显示如何从另一个视图模型或用户控件的隐藏代码中访问视图模型的属性或命令?

我想这很简单,但我不知何故错过了一些东西。

Ueli


您可以使用 Messenger 来执行此操作: 在 UserViewModel 中发送用户:

Messenger.Send<User>(userInstance);

只会将用户发送给任何感兴趣的人。

并在 CardViewModel 中注册收件人:

Messenger.Register<User>(this, delegate(User curUser){_curUser = curUser;});

或者您也可以从 CardViewModel 发送请求以向用户喊叫:

Messenger.Send<String, UserViewModel>("Gimme user");

并在 UserViewModel 中对此做出反应:

Messenger.Register<String>(this, delegate(String msg)
{
if(msg == "Gimme user")
Messenger.Send<User>(userInstance);
});

(在实际场景中,您最好使用枚举而不是字符串:))

也许你甚至可以直接回复,但我现在无法检查。

只需检查一下:MVVM轻信使 http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx

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

MVVM light - 如何访问其他视图模型中的属性 的相关文章

  • 强制绑定更新 Silverlight

    如何强制更新我的对象 DataContext 绑定 我正在网格上使用事件 并且在事件触发之前不会处理绑定更新 有什么廉价的技巧可以解决这个问题吗 最后 我总是可以用旧的手动方式从文本框中获取值并更新我的对象 但最好让绑定为我做这件事 UPD
  • 如何在WPF中使用一次性视图模型?

    如果视图模型引用非托管资源或具有事件处理程序 例如调度程序计时器上的处理已过去 如何确保视图模型得到正确处理 在第一种情况下 终结器是一种选择 虽然并不理想 但在后者中 它永远不会被调用 我们如何判断何时不再有视图附加到视图模型 我通过执行
  • WPF MVVM将DataTable绑定到DataGrid不显示数据

    我有一个简单的控件 其中包含一个 DataGrid 其中 ItemsSource 绑定到 DataTable 当我填充 DataTable 时 我可以看到 DataGrid 中添加了行 但没有显示任何数据 我没有为此 DataGrid 使用
  • 中继命令和无参数执行方法

    我目前正在学习 WPF 和 MVVM 我想我已经了解了大部分内容及其工作原理 但我在使用 RelayCommand 或 DelegateCommand 时遇到了一些我不明白的问题 我认为这与代表的工作方式有关 请注意 下面的代码目前仅处于测
  • 如何加载位于 Windows Phone 7 中应用程序文件夹内的 XML 文件?

    我正在开发 Windows Phone 7 应用程序 我是 Windows Phone 7 应用程序的新手 我通过右键单击项目并选择 添加 gt 新项目 在项目中添加了 XML 文件 然后 我可以使用以下代码轻松地将 XML 文件加载到我的
  • 在 AngularJS 中设置应用程序范围的 HTTP 标头

    有没有办法设置 httpProvider标题之外angular module myApp config 登录用户后 我从服务器获取身份验证令牌 我需要将其作为 HTTP 标头添加到所有后续请求中 您可以使用角度的默认标题1 0 x http
  • 如何从 GestureListener.Gesture 触发 EventToCommand

    有人使用 Toolkit GestureListener 来触发 EventToCommand 吗 我认为您无法使用 EventToCommand 行为来做到这一点 但我创建了一种行为 允许通过将 GestureListener 绑定到命令
  • 基于另一个组合框的所选项目绑定组合框 - MVVM WPF

    我目前有一个组合框 其中填充了艺术家姓名 一旦选择了艺术家 我需要将其绑定到另一个组合框 在我看来 这些设置如下
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如何在MVVM中管理多个窗口

    我知道有几个与此类似的问题 但我还没有找到明确的答案 我正在尝试深入研究 MVVM 并尽可能保持纯粹 但不确定如何在坚持模式的同时启动 关闭窗口 我最初的想法是向 ViewModel 发送数据绑定命令 触发代码来启动一个新视图 然后通过 X
  • 如何在 Silverlight 中使用 LINQ 创建 ObservableCollection

    在非 Silverlight 世界中 使用 LINQ 创建 ObservableCollection 很容易 这是因为 ObservableCollection 类具有接受任何 IEnumerable 或 List 的构造函数 然而Silv
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • 如何使用 NavigationService.Navigate 传递查询字符串变量?

    问候 搜索了这个 但没有运气 我正在尝试在我的 Silverlight 4 应用程序中传递查询字符串变量 然后检索它们 首先我尝试了这个 this NavigationService Navigate new Uri LoanProduct
  • 使用棱镜进行事件订阅,给出方法访问异常

    我在视图模型中订阅了一个事件 事件订阅是在通过 Unity 创建的视图模型的构造函数中完成的 我发现如果我订阅为 showViewAEvent Subscribe ShowViewAHasBeenRequested 或 showViewAE
  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • 调度程序如何在线程中工作?

    我们有一个使用调度程序的 silverlight 应用程序 如果我能帮助解释以下代码的作用 我将不胜感激 不幸的是编写代码的开发人员已经离开 所以我们有以下内容 public class ABC private Dispatcher dis
  • 禁用 WP7 浏览器控件中的滚动功能?

    是否可以在 Windows Phone 7 1 中禁用 Web 浏览器控件中的滚动 我已经看到很多关于它的问题 Windows Phone 7 0 Silverlight 但还没有答案 有任何想法吗 有一个博客文章在这里 http www
  • 如何从 main 之外的类访问 XAML 对象?

    如果我尝试 var mainpage new Mainpage 我将运行主页构造函数 然后 XAML 对象中的所有字段都将返回 null 如何在 silverlight 中访问来自不同类但属于同一命名空间的 XAML 对象 让我通过例子来解
  • 将 MouseBindings 添加到数据绑定 WPF ListView 中的项目

    我试图在用户单击 ListView 中的项目时执行 ViewModel 中的命令 当我添加一个ListViewItem在 XAML 中我可以添加一个MouseBinding to its InputBindings

随机推荐

  • 在proguard中,保存包/默认访问变量和方法的关键字是什么?

    你可以说 keepclassmembers class sun public protected 但我并不排除包 默认访问方法 void myMethod 您可以添加另一个 keepclassmembers像那样 keepclassmemb
  • 如何在Vega JS中实现树节点切换?

    我在用着Vega JS https vega github io vega用于构建树形图 总的来说 我的问题如下 Vega 文档有很棒的树形布局示例 https vega github io vega examples tree layou
  • 如何使用 python opencv 测量同一图像中两条线之间的角度?

    我使用霍夫变换检测到一条不直的车道边界线 然后单独提取该线 然后与另一个具有直线的图像混合 现在我需要计算这两条线之间的角度 但我不知道这些线的坐标 所以我尝试使用给出垂直线坐标的代码 但它无法具体识别这些坐标 有没有办法测量这些线之间的角
  • 我应该如何查询 MySQL 以及如何缓存 MySQL 的结果?

    在你们所有人的帮助下 我终于成功地让 Solr 工作了 所以谢谢你们 而且我不得不说 我现在明白你为什么推荐它了 它真的很强大 现在 说到问题 我已将所有 可搜索 信息编入索引Solr 我的计划是查询 Solr 然后得到ID s查询结果 所
  • 如何仅在构建时排除打字稿中的特定文件?

    是否可以排除仅用于构建的所有测试文件 但将它们与 nodemon 一起使用以在本地运行测试 当我排除测试文件时tsconfig json在我的例子中 我收到一个打字稿错误 它找不到像 jest 这样的测试库的类型 Cannot find n
  • 自定义类型作为参数传递给函数

    当我定义自定义类型时 基础类型的类型似乎对我是否可以将其按原样传递给函数或是否需要转换它产生影响 问题是 为什么RuneFunc and StringMap工作 但不Integer https play golang org p buKNk
  • DateTime->format(epoch) 返回错误的日期

    我正在开发一个项目 但在将纪元时间格式化为人类可读时间时遇到问题 我有以下纪元时间1428512160当我把它通过 epochconverter com 时 我得到了人类时间08 04 2015 17 56 00 GMT 1 00 DST正
  • 页码和偏移量

    我正在学习不同类型的内存管理 我不明白在虚拟地址中具有偏移位的意义 以及为什么页面大小是由2 我的主要困惑是 给我一个在指令中使用偏移量来访问某个虚拟地址的示例 我的第二个困惑是 通常的说法是 如果逻辑地址的大小是2 m页面大小是2 n 则
  • 如何使用h5py将数据写入复合数据?

    我知道在c我们可以使用轻松构建复合数据集struct逐块键入并分配数据 我目前正在实施类似的结构Python with h5py import h5py import numpy as np we create a h5 file f h5
  • Intellij Git 命令不起作用

    我的 Intellij Java 项目中的 git 集成存在问题 当我尝试执行提交时 无论我是否更改了任何内容 总是会出现相同的消息 未检测到任何更改 此外 当我试图拉东西时 没有任何动作 在 Intellij 的版本控制选项卡中 只有一条
  • 从startup.cs asp.net core重定向用户

    我有一个要求 我想检查数据库是否已连接 我有相应的类 如果此类的方法返回 false 那么我想重定向到将进行设置的数据库页面 视图 我有Asp Net核心身份 我想在 EF core 尝试连接到数据库之前检查此情况 我尝试使用以下命令 但返
  • setText 时不能使用 Frame.origin

    我正在使用下一个代码来淡出并向上滚动我的文本字段 但我刚刚注意到当我使用类似的东西时 textField setText something or textField resignFirstResponder 我失去了向上滚动的能力 任何人
  • JFreechart X和Y轴缩放

    可以在jfreechart中设置轴刻度值吗 例如 我想要 X 轴刻度为 10 Y 轴刻度为 1 您设置了TickUnit 如果您使用的是XYPlot尝试这个 XYPlot plot chart getXYPlot NumberAxis xA
  • 为什么我的一些 HTML 内部链接有效,而另一些则无效?

    救命 我对这个世界完全陌生 我正在首页上制作一个菜单栏 并链接到网站上的其他页面 以下是代码示例 ul li a href About a li li a href The Therapist a li li a href Pay what
  • 视网膜图像中的血管分割

    我正在尝试在视网膜图像中追踪血管 目前我正在使用 cv2 的阈值函数来使血管与周围视网膜的对比度更高 from matplotlib import pyplot as plt import cv2 img cv2 imread misc i
  • 并发 C++ 程序中的可见性

    我知道在 Java 中 从另一个线程访问成员时不能保证成员的可见性 含义是访问线程可能会看到该成员的窃取值 因为缓存尚未刷新到主内存 我想知道C 是否也是如此 也在 C 11 中 如果是这样 你如何在 C 中解决这个问题 在Java中 可以
  • backbone.js 获取缓存的结果

    我在以下backbone js控制器的索引操作中使用fetch App Controllers PlanMembers Backbone Controller extend routes index index function var p
  • Linq 中的多个 WHERE 子句

    我是 LINQ 新手 想知道如何执行多个 where 子句 这就是我想要实现的 通过过滤掉某些用户名来返回记录 我尝试了下面的代码 但没有按预期工作 DataTable tempData DataTable grdUsageRecords
  • PHP $_GET 未从 Web 浏览器填充 URL 查询参数

    我遇到了一个奇怪的问题 GET and REQUEST 变量为空 即使正在传递参数 我的 PHP 代码 echo SERVER REQUEST URI echo print r REQUEST echo print r GET Output
  • MVVM light - 如何访问其他视图模型中的属性

    我正在使用 mvvm light 构建 Silverlight 应用程序 是否有代码片段显示如何从另一个视图模型或用户控件的隐藏代码中访问视图模型的属性或命令 我想这很简单 但我不知何故错过了一些东西 Ueli 您可以使用 Messenge