MVVM:如何将参数传递给 ViewModel 的构造函数

2024-03-27

我正在使用 L. Bugnion 的 MVVM Light 框架。
将参数(例如 Customers IS)传递给 ViewModel 构造函数的推荐方法有哪些?

编辑: 每个 ViewModel 所需的参数不是跨模型共享的参数。它对于每个视图模型实例来说都是独一无二的。


//Create a container class to pass via messenger service
    public class CarSelectedArgs
    {
      #region Declarations

      public Car Car { get; set; }

      #endregion

      #region Constructor

      public CarSelectedArgs(Car car)
      {
        Car = car;
      }

      #endregion
    }


    //example of view model sending message.
    public class SendingViewModel : ViewModelBase
    {
      private Car _car;
      public Car SelectedCar
      {
        get { return _car; }
        set
        {
          _car = value;
          if (value != null)
          {
            //messenger will notify all classes that have registered for a message of this type
            Messenger.Default.Send(new CarSelectedArgs(value));
          }
        }
      }
    }


    //Example of ViewModel registering to recieve a message
    public class SampleViewModel : ViewModelBase
    {
      #region Constructor

      public SampleViewModel()
      {
        Messenger.Default.Register<CarSelectedArgs>(this, OnCarSelected);
      }
      #endregion

      #region LocalMethods

      void OnCarSelected(CarSelectedArgs e)
      {

        var NewCar = e.Car;
      }

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

MVVM:如何将参数传递给 ViewModel 的构造函数 的相关文章

  • ViewModel 中的 MediaElement.play()

    我正在努力解决以下问题 我正在使用 MVVM 模式构建 WP8 应用程序 我的 view xaml 中有一个媒体元素 并且在 viewmodel cs 中有控制该媒体元素的逻辑 例如 播放 停止 暂停和音量 如何使用绑定从我的视图模型在此媒
  • 奇怪的问题,除非单击鼠标,否则按钮不会重新启用

    我的应用程序是使用 WPF 中的 MVVM 模式编写的 我的所有按钮都使用命令绑定来执行模型中的代码 所有命令在 CanExecute 中都有代码来确定绑定按钮的启用状态 该逻辑工作完美 但在所有情况下 GUI 都会保持禁用状态 除非我单击
  • Windows 8 的 mvvmlight 中缺少 EventToCommand 行为 - 解决方法?

    问题确实说明了一切 我正在使用 MVVM Light 用 XAML C 编写一个 Windows 8 应用程序 我注意到 EventToCommand 功能尚未实现 有人可以建议对此有任何解决方法吗 thanks 您现在可以使用 Event
  • 命令绑定到 ViewModel,并在 View 中使用确认逻辑

    寻找最优雅的解决方案将按钮命令绑定到 ViewModel ICommand 属性 同时允许在视图中进行确认 我想做的事 仅允许用户在应该时单击按钮 单击按钮时 要求确认 如果确认 则在 ViewModel 中进行工作 否则取消 不要破坏MV
  • 使用 MVVM 为 WPF 搭建脚手架?

    谁能告诉我是否可以 如果存在某些实用程序 创建考虑到 MVVM 和 WPF 的脚手架 我的想法是我似乎有很多数据访问表单 当然我想自定义它们 但最初我想要一种快速提供表单的方法 即放置在它们上面并绑定到 mvvm 的所有控件 也许我问得很多
  • WPF 基础知识:MVVM 的共享全局样式

    我正在尝试使用 MVVM 式的方法来进行 WPF 开发 我在 ViewModel 命名空间下有我的逻辑视图模型类 并且在 View 命名空间下有这些视图模型类的匹配样式 现在 我的视图信息位于 ResourceDictionary XAML
  • ToggleButton 控件 VisualStateManager:处理多个悬停状态

    参考我之前的问题 Silverlight MVVM 困惑 基于状态更新图像 https stackoverflow com questions 5034189 silverlight mvvm confusion updating imag
  • 使用 Caliburn.Micro 将绑定选择更改为 ViewModel

    我们在一个新的 Silverlight 项目中使用了 Caliburn Micro 一切都运行良好 内置约定将按钮单击事件绑定到 viewModel 但我不确定处理数据网格和组合框上的 SelectionChanged 事件的最佳方法是什么
  • 第一次调用后 LiveData 未观察到

    我实现了 LiveData 和 ViewModel 来模仿 AsyncTaskLoader 我从 DCIM 中的相机目录加载文件名 然后附加一个 fileObserver 来观察删除文件 图片 时的情况 然后回调告诉 LiveData 在发
  • 如何隐藏数据透视项标题?

    我希望有一个具有 PivotItems 但没有横向数据透视项标题文本的数据透视控件 它是横向模式下的画廊 当恢复为纵向时 它应该再次显示 PivotItems 标题 解决办法就是制作文字PivotItem Header 不好 因为标题文本占
  • 实现自己的“工厂”以重用 WPF 中的视图

    我目前正在使用WAF WPF 应用程序框架 http waf codeplex com discussions 361216用于 WPF 编程 我真的很喜欢为我的应用程序中的每个小视图单元拥有一个自己的 ViewModel 的想法 我随后以
  • 使用 MVVM 绑定 Xamarin.Forms 中的属性

    我在使用 Xamarin Forms 和 MVVM 制作游戏时遇到问题 游戏中有一艘由用户控制的潜艇 并且有水雷掉落 因此用户必须避开这些水雷 这些地雷是在运行时使用 2 个计时器生成的 因此我用 XAML 中的 CollectionVie
  • 如何处理 MVVM 模式中嵌套 ListView 的 ItemClick?

    XAML代码
  • WPF - 从 UserControl 发出命令时 CanExecute 不会触发

    我有一个按钮条用户控件 我想在我的大多数表单上使用它 我添加了如下命令 public ICommand Create get return buttonCreate Command set buttonCreate Command valu
  • 无法在 Silverlight 样式中添加系统颜色?

    我在 XAML 中为 SystemColors 定义了资源 如果我将 Foregroung 属性直接设置为 TextBlock 效果会很好 但是 如果我在样式中分配前景属性 则会收到如下所示的错误 我不确定问题是什么以及如何解决 任何想法都
  • 如何在数据加载期间 IsBusy 为 true 时至少显示一次 Lottie 动画?

    On my Xamarin Forms 项目 我想显示一个洛蒂动画 during API调用或期间加载网站 in a WebView 为此 我限制了IsVisible的财产洛蒂动画 to the IsBusy我的财产视图模型 这个效果很好
  • 如何确保 ViewModel 属性在再次更改其值之前已绑定在视图上?

    有以下情况 ViewModel有一个变化非常快的对象 通过不同的线程 View通过以下方式获悉NotifyPropertyChanged界面 但似乎它的工作速度很慢 并且在视图绑定新值并绘制它之前 它会更改更多次 因此它会丢失一些值 我也尝
  • WPF MVVM 在窗口关闭时调用 ViewModel Save 方法

    我已经弄清楚如何从我的 ViewModel 关闭窗口 现在我需要从另一侧解决窗口关闭问题 当用户单击窗口的关闭按钮时 我需要在 ViewModel 中触发 Save 方法 我正在考虑将 Command 属性绑定到 Window 的关闭事件
  • 强制绑定更新 Silverlight

    如何强制更新我的对象 DataContext 绑定 我正在网格上使用事件 并且在事件触发之前不会处理绑定更新 有什么廉价的技巧可以解决这个问题吗 最后 我总是可以用旧的手动方式从文本框中获取值并更新我的对象 但最好让绑定为我做这件事 UPD
  • MVC3、Ninject、MvcSiteMapProvider - 如何将依赖项注入到重写方法

    我有一个正在使用的 MVC3 应用程序Ninject http ninject org and Mvc站点地图提供者 http mvcsitemap codeplex com 我创建了此类 MvcSiteMapProvider 使用它来动态

随机推荐

  • Android 中的内存不足错误

    我创建了一款使用图像的游戏 并且我的游戏处于纵向和横向模式 我有两种不同的布局 当我从 1 方向切换到其他方向时 执行此操作 5 6 次后 会出现强制关闭错误 错误是这样的 原因 java lang OutOfMemoryError 位图大
  • 正确完成管道中的多处理

    我想知道多重处理是如何正确完成的 假设我有一个清单 1 2 3 4 5 由函数生成f1这是写到Queue 左绿色圆圈 现在我启动两个从该队列中提取的进程 通过执行f2在过程中 他们处理数据 例如 将值加倍 并将其写入第二个队列 现在 函数f
  • 在纯函数语言中,有没有算法可以得到反函数?

    在像 Haskell 这样的纯函数语言中 是否有一种算法可以在双射时获得函数的逆函数 编辑 有没有一种特定的方法来对你的函数进行编程 在某些情况下 是的 有一种漂亮的纸叫其中讨论了几种情况 当你的函数足够多态时 可以完全自动地导出反函数 它
  • r 两个方向都有误差条的散点图

    如何创建在两个方向上带有误差线的散点图 通常误差线位于垂直方向 即 y 值的不确定性 但是我的数据的 x 值也存在不确定性 X ErrX Y ErrY 1 0 0 1 3 0 0 2 1 5 0 3 4 2 0 1 etc Using gg
  • Golang 中的 Shell 扩展(命令替换)

    Go 支持变量扩展 例如 os ExpandEnv 测试 USER gt gt 测试 MyName 但有没有办法扩展可执行文件 就像 shell 的行为方式一样 就像是 os ExpandExecutable 测试 日期 H M gt gt
  • Javascript 获取 PHP 变量中的屏幕宽度

    我有一个响应式网站 其中有简单的下拉登录菜单 http www red team design com simple and effective dropdown login box当网站处于其他导航链接旁边的 桌面 视图 屏幕可用宽度 g
  • 何时使用 RabbitMQ 铲子以及何时使用 Federation 插件?

    对于我工作的公司 我们希望使用 RabbitMQ 作为我们的主要消息总线 我们的想法是 每个应用程序都使用自己的虚拟主机进行内部通信 并且通过 shovel 或联合插件 我们可以在多个虚拟主机 甚至可能是多台机器 非集群 之间共享某些类型的
  • Android 中的图像数组

    我正在尝试使用图像数组 然后将 ImageView 设置为数组中的图像之一 我的第一反应是使用带有图像名称的字符串数组 但这不起作用 我该如何做到这一点 制作一个可绘制数组 其中图像名称不带引号或什么 取决于你的图像在哪里 但如果 R dr
  • 如何使用 SSIS 包中的变量值加载新表?

    我在 SSIS 包 Var1 和 Var2 中有两个变量 这两个变量都有值 有什么方法可以将这两个变量的值放入新表中吗 例如 在新表 col1 中 其值为 Var1 col2 的值为 Var2 Thanks 有几种方法可以做到这一点 一种是
  • 即使使用复制本地,也无法加载文件或程序集“Microsoft.SqlServer.Types”

    我的网络应用程序有一份内部报告 当我在本地浏览该报告时 该报告会按预期显示 我正在使用一个rdlc and xsd有标准的apsx用于呈现报告的网页 我现在已部署到我的临时服务器 当我尝试浏览显示我收到的报告的页面时 An unexpect
  • 如何在 PDO fetchAll 中正确使用 while 循环

    请对我宽容一些 我刚刚开始学习 PDO 并且仍在寻找如何将 mysqli 转换为 PDO 的方法 所以我有一个函数可以从数据库中获取内容 function getContent db PDOconn query SELECT FROM po
  • DI 容器如何知道构造函数需要什么(ASP.NET Core)?

    我读过很多关于什么是 DI 以及如何使用它的文档 与 ASP NET Core 相关 据我了解 当框架为我实例化某个控制器时 它以某种方式知道该控制器的类需要传递给构造函数 是反射还是什么 有人可以告诉我在 ASP NET Core Git
  • 在 Rails + MySQL 中存储百分比

    我需要在 Rails 应用程序中使用百分比 在任何视图中 包括用户输入时 格式都需要是百位格式 100 000 在计算中使用时 需要以百分位的格式表示 1 00000 我的迁移 我将该列添加到现有表中 具有以下行 add column wo
  • 停止执行另一代码的代码

    我有一个R进行一些数据分析并返回的代码TRUE FALSE 有时 输入数据太大 代码就继续运行 我想要一个脚本来监视我的数据分析代码 如果它没有返回任何内容 比如说600 seconds 然后它会停止正在运行的代码并执行其他操作 就会像按S
  • C++ if 语句中的多个条件

    我对 C 编程的概念非常陌生 我想要使 用多条件 if 语句 或 和 和 在一份声明中 当我向我的大学教授询问此事时 她告诉我这是可能的 然后侮辱了我在这个问题上有限的知识 我有权访问的所有示例都显示了多个 语句 并且只有一个显示了 它没有
  • HTML - 如何在提交按钮上弹出确认窗口,然后发送请求?

    我正在学习网络开发Django并且在哪里放置负责是否提交请求的代码方面存在一些问题HTML code 例如 有一个网页包含form 博客 由用户填写 点击保存按钮后 会弹出一个窗口询问是否要confirm或不 如果点击confirm 然后发
  • 我如何用 es6(不带打字稿)开玩笑地模拟 Prisma 客户端?

    Prisma 文档提供了模拟客户端以及使用 jest 和 typescript 进行单元测试的示例 有没有办法在不使用 TypeScript 的情况下开玩笑地嘲笑客户端 如果您能举一个简单的例子 我将不胜感激 需要补充的小事情 我在项目中使
  • Python Selenium 通过链接循环

    我对 python 或编码很陌生 这部分代码允许我找到我想要单击的所有元素 单击链接打开一个新选项卡 from selenium import webdriver import time driver webdriver Chrome dr
  • 无法在 Postgres 中使用交叉表

    OSX 10 9 2 上的 Postgres 9 2 1 如果我运行以下交叉表示例查询 CREATE EXTENSION tablefunc CREATE TABLE ct id SERIAL rowid TEXT attribute TE
  • MVVM:如何将参数传递给 ViewModel 的构造函数

    我正在使用 L Bugnion 的 MVVM Light 框架 将参数 例如 Customers IS 传递给 ViewModel 构造函数的推荐方法有哪些 编辑 每个 ViewModel 所需的参数不是跨模型共享的参数 它对于每个视图模型