Вам нужен способ определения источника популяции объектов. enum
может сделать это, и затем в вашем PropertyChanged
вы можете проверить, что вызвало изменение свойства, и на основании этого вы можете позвонить BeginEdit()
или нет.
Enum PopulateSource
{
Database = 0,
User
}
Теперь при обновлении из базы данных установите Enum на PopulateSource.Database
. Когда он изменяется, потому что пользователь изменил его, вы устанавливаете его на PopulateSource.User
. Теперь вы можете проверить в PropertyChanged, в каком состоянии находится эта переменная, и определить, следует ли вызывать BeginEdit()
.
.