В какой-то момент этот объект должен быть экспонирован через свойство модели представления, например:
public class YourViewModel : BaseViewModel
{
public YourEntityClass Something {get; set;}
}
Вы говорите, что вы не можете изменить YourEntityClass
, поэтому вы будетевместо этого необходимо реализовать INPC на этом верхнем уровне (т. е. свойство Something
).После этого, каждый раз, когда вы обновляете свойство внутри YourEntityClass, вам нужно будет вручную сигнализировать, что весь объект был обновлен, то есть:
RaisePropertyChanged(() => this.Something);
Это ужасное решение, потому что оно означает, что весь ваш объект теперь будетобновлять без необходимости в графическом интерфейсе, но это в основном ваш единственный выбор, учитывая ограничения, которые вы установили для себя.