【问题标题】:initializing View from a different ViewModel in MVVM在 MVVM 中从不同的 ViewModel 初始化 View
【发布时间】:2013-11-02 16:22:41
【问题描述】:

我正在开发一个 WPF 地图应用程序,并在我的 MVVM WPF 应用程序中创建一个 View 和一个 ViewModel。用户单击视图中的按钮(我们称之为 View#1),然后 ViewModel 将地图添加到窗口中。但是,我的应用程序中有另一个视图(我们称之为 View#2)负责地图操作。我无法将 View#2 中使用的控件添加到 View#1,因为 View#1 只是一个具有不同地图名称的列表框。

我希望 View#2 被初始化并从 ViewModel#1 显示在屏幕上。

这种从不同的 ViewModel 初始化 View 的方法是否违反了良好的 MVVM 编程实践?如果是,那么处理这些情况的正确方法是什么。

谢谢

【问题讨论】:

    标签: wpf mvvm


    【解决方案1】:

    通常您将视图模型注入您的视图中,因此您只能在一个视图模型上拥有一个视图。

    但是您可以有一个包含 View#1 和 View#2 的 View#0。 ViewModel#0 将有 2 个属性,包含 ViewModel#1 和 ViewModel#2

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2014-12-15
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      相关资源
      最近更新 更多