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

Hus*_*ein 33 wpf mvvm

我曾经IDataErrorInfo在我的MVVM/WPF应用程序中使用.现在INotifyDataErrorInfo在.Net 4.5中可用后更换IDataErrorInfo或继续使用旧方法更好IDataErrorInfo吗?

Mic*_*eld 42

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

如果要在.NET 4.5中实现针对运行Windows 8的设备的应用程序,则应该强烈考虑使用新接口.异步式编程是此类应用程序的"预期模型",尤其是在包含RT设备的情况下.这并不是说要复杂得多实行INotifyDataErrorInfoIDataErrorInfo,所以真的有没有不利的一面.

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