2

我正在使用带有 MVVM 的 WPF 制作日历,我有一个日历条目模型,它也有一个视图模型。我看到了 INotifyDataErrorInfo 的示例,在某些示例中它是在模型中实现的,而在其他示例中它是在视图模型中。INotifyDataErrorInfo 属于模型还是视图模型?

4

1 回答 1

2

通常在视图模型中。但这取决于您如何定义视图模型和模型。您所谓的模型可能被视为视图模型,然后您应该在此类中实现接口。

规则是您应该在视图中绑定到的类中实现它。因此,如果您绑定到Calendar类的属性,则在那里实现它。这有效地制作Calendar了一个视图模型。

如果Calendar是您在多个不同项目中使用的某种域对象,您应该考虑创建一个包装器类(CalendarViewModel例如调用)并绑定到这个类,而不是直接绑定到域类型。

于 2020-03-12T12:45:27.840 回答