何时开始在VM中加载数据

时间:2014-02-18 21:44:45

标签: wpf mvvm

假设我有一个带有两个按钮和一个内容控件的页面。我还为此页面定义了一个View-Model。当我按下每个按钮时,特定的视图模型被绑定到内容控件,因此按钮用于在视图之间切换。问题是,当切换视图时,需要通过视图模型下载一些数据(无论从何处,它可能是一个数据库) - 我真的不知道在哪里放置代码负责(即开始下载数据的代码)。构造函数是一个好地方吗?

1 个答案:

答案 0 :(得分:1)

通常,ViewModel有一个特定的方法(通常称为Init),它执行数据初始化。构造函数不应该用于这些目的,因为它应该只构造对象,而不是其他任何东西。此外 - 您可能希望异步执行数据加载,因此构造函数也不太适合这种情况。

只有在执行导航时才会调用Init方法,因此您可以将导航参数传递给它。