【问题标题】:Correct MVVM design patterns - ViewModel and DataContext正确的 MVVM 设计模式 - ViewModel 和 DataContext
【发布时间】:2014-07-29 09:54:43
【问题描述】:

我开始玩 Windows Phone 开发。我正在使用 MVVM ligth,并且我正在尝试遵循良好的做法。但是最近我遇到了一个问题: 可以在 ViewModel 中使用 ViewModel 作为属性吗?

我的情况是我有一个 MainViewModel,它是一个全景对象。这个全景对象由几个全景项目(笔记、日历和关于控件/页面)组成。

我的问题是,如果我有 MainPage.xaml 的 MainViewModel,是否可以将其他 ViewModel 作为属性(NotesViewModel、CalenderViewModel、AboutViewModel)放到 MainViewModel,在这种情况下,它们将从 MainPage 继承DataContext 和我只会绑定到 MainViewModel 的一个属性。还是我应该使用定位器模式来允许其他页面/控件获取自己的 ViewModel 并且不继承 DataContext?

如果控件有 ViewModel 可以吗?还是应该用于页面?

【问题讨论】:

    标签: wpf silverlight windows-phone-7 windows-phone-8 mvvm-light


    【解决方案1】:

    如果父视图模型和子视图模型相关:当然,这很好,它不违反模式。

    此设置允许您跨页面和控件重复使用 ViewModel 和 View。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 2015-08-24
      • 1970-01-01
      • 2018-07-02
      • 2012-03-29
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多