Как реализовать детализированный IsDirty для каждого поля в Catel?

ModelBase компании Catel поддерживает свойство IsDirty, которое изменяется при изменении какого-либо свойства. Есть ли механизм для проверки каждого изменения свойства? ModelBase реализует что-то подобное внутри для реализации IEditableObject, используя BackupData. Есть ли чистый способ показать, изменилось ли одно свойство?


person JJS    schedule 14.01.2014    source источник


Ответы (1)


Catel не отслеживает фактические изменения поля, которые становятся доступными извне. Должно быть довольно легко реализовать ModelChangeTracker, который использует комбинацию IEditableObject (для сброса грязных состояний) и INotifyPropertyChanged.

Вы можете реализовать его и создать запрос на включение или запросить функцию в официальном трекере:

http://www.catelproject.com/support/issue-tracker

person Geert van Horrik    schedule 14.01.2014