INotifyDataErrorInfo - 模型或 ViewModel

INotifyDataErrorInfo - Model or ViewModel

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

通常在视图模型中。但这取决于您如何定义视图模型和模型。你所说的模型可能被看作是视图模型然后你应该在这个class.

中实现接口

规则是您应该在视图中绑定到的 class 中实现它。因此,如果您绑定到 Calendar class 的属性,则在那里实现它。这有效地使 Calendar 成为视图模型。

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