У меня обычно есть подпрограмма в моей сущности или в классе данных, которая удаляет все записи из моего словаря ошибок после инициализации.Я вызываю его после создания экземпляра.
Вы можете пойти еще дальше и получить инициализированное поле (логическое значение), которое будет установлено в False для новых объектов, True для существующих объектов.
Вы не делаетехочу, чтобы пользователь представил несколько шаблонов ошибок / проверок только потому, что они сгенерировали новый объект и еще не заполнили его данными.
Пример ViewModel
В этом примере у меня естьНедвижимость из моей ViewModel.Когда объект отгрузки загружается, свойство вызывает метод Clear в словаре ошибок.Если Отгрузка является постоянной записью из базы данных, она должна иметь действительные данные, поскольку их необходимо было проверить, чтобы сохранить в БД.если он новый, записи удаляются, и пользователю предоставляется свежая форма, готовая для ввода.
Public Property ShipmentRecord() As Shipment
Get
Return _shpShipmentRecord
End Get
Set(ByVal value As Shipment)
_shpShipmentRecord = value
ShipmentRecord.m_dirtyFields.Clear()
OnPropertyChanged("ShipmentRecord")
End Set
End Property
К сожалению, это был первый пример, который я смог найти, и он напрямую обращается к словарю m_dirtyFields (изначально был закрытым, но я установил его как Друг.) В большинстве случаев я бы создал метод доступа к словарю.