【问题标题】:MVVM ViewModel Passing Parameters to another ViewModelMVVM ViewModel 将参数传递给另一个 ViewModel
【发布时间】:2013-02-21 19:50:23
【问题描述】:

我正在使用 MVVM-Light,并且我有一个列出了销售员的 DataGrid。用户可以双击打开一个子窗口,该窗口将在网格上列出他们的销售,用户将能够在该网格下填写一些文本框以添加新的销售。

我正在尝试使用两个单独的 ViewModel 来实现这一点 - 一个用于销售人员列表,一个用于销售列表。让我感到困惑的部分是 Salesman 网格将 Selected Salesman 传递给 Sales Items 代码隐藏,但我真正需要它的地方是在 ViewModel 中。我做错了什么?

【问题讨论】:

  • 如果您将其“传递”给 Items 代码隐藏并且您在 ViewModel 中需要它,为什么不将它提供给 ViewModel?
  • 彼得,对,这就是我需要它去的地方,ViewModel。如何将其提供给 ViewModel?
  • 没有看到您的 ViewModel,我无法开始告诉您如何...

标签: c# mvvm mvvm-light


【解决方案1】:

创建一个 ViewModel 将推销员分配给 viewmodel 的一个属性。然后将 Viewmodel 改为您的 View。

或者,如果您使用依赖注入,您可以创建 ViewModel,将视图接口注入构造函数,设置 ViewModel.SalesPerson = person,然后调用 ViewModel.Present() 来调用 IView.ShowDialog() .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2020-01-27
    • 2015-01-20
    • 2011-05-06
    相关资源
    最近更新 更多