.Net 4.5:我应该使用IDataErrorInfo还是INotifyDataErrorInfo?

时间:2013-10-16 12:00:40

标签: wpf mvvm

我曾经在我的MVVM / WPF应用程序中使用IDataErrorInfo。现在,在.Net 4.5中提供INotifyDataErrorInfo之后,最好是使用IDataErrorInfo替换IDataErrorInfo还是继续旧方法?

1 个答案:

答案 0 :(得分:38)

INotifyDataErrorInfo中有许多改进(特别是它支持每个对象/属性的多个动态变化的错误消息),使其优于以前的接口。但最大的区别在于它是异步的。现在,只要错误状态发生变化,您就必须触发ErrorsChanged事件。

如果要在.NET 4.5中实现针对运行Windows 8的设备的应用程序,则应该强烈考虑使用新界面。异步式编程是此类应用程序的“预期模型”,尤其是在包含RT设备的情况下。实施INotifyDataErrorInfo而不是IDataErrorInfo并没有那么复杂,所以没有真正的缺点。

但这并不意味着你应该改进所有现有的应用程序;再次,这取决于你的目标。如果您尝试将现有应用程序升级为RT兼容,则应该交换新的错误处理代码。否则,无需改变有效的方法。