一般来说,哪种方法更适合ViewModel初始化?
初始化视图模型类的一个实例,然后执行它自己的任何数据收集(填充用于下拉列表的列表等)。
初始化视图模型类的实例,但调用者也会填充viewmodel对象的属性(用于下拉列表的列表等)。
我认为我更喜欢第一种方法,因为看起来那些“对话”视图模型会更有用,但在调用视图模型已经拥有某些数据的情况下,传递它可能是有益的。
非常感谢提前。
答案 0 :(得分:0)
虽然我更喜欢Active
方法,但我想你可以采用混合方法。
由于大多数VM属性都是公共的(用于绑定),因此您可以通过属性设置器分配来从调用VM将任何值传递到对话框VM中。
当对话框激活时(我假设它将具有生命周期,因为它是一个对话框),然后您可以检查是否有任何属性尚未设置,并加载缺少的内容。
当然,我可能会采用“主动”方法 - 大多数对话框不需要加载大量数据,但您的里程可能会有所不同。