У меня есть модель, состоящая из трех классов: A, B и C. A имеет ObservableCollection of B, B имеет ObservableCollection of C. C имеет ссылку (ненаблюдаемый .. Я не думаю, что это необходимо) дляего родитель (B) и B имеют ссылку на A. Каждый атрибут A, B и C. уведомляет о своих изменениях.
Затем у меня есть класс Model, который "отслеживает" все выделенные объекты.Таким образом, он имеет ObservableCollection A, B и C (единственное, что требуется для As; я сохраняю списки для B и C только для более быстрой ссылки).
Мой пользовательский интерфейс имеет пользовательскийуправление: у него есть ViewModel.В представлении есть список.Его ItemSources привязан к его ViewModel к наблюдаемой коллекции с именем датчиков.Это ObservableCollection имеет RowViewModel.Каждый RowViewModel хранит ссылку на объект C.
Мое приложение загружает модель (создает объекты A, B, C), а затем устанавливает список представлений, вызывая этот метод (может, в этом проблема?)
public void setSensors(IList<C> list)
{
this.sensors.Clear();
if (list != null)
{
foreach (var row in list)
this.sensors.Add(new RowViewModel(row));
}
}
Проблема в том, что, если я изменяю свойство моего объекта C, это не отражается на интерфейсе пользователя.
Кто-то может мне помочь?Спасибо
Francesco
РЕДАКТИРОВАТЬ: (решено) благодаря вашим ответам я проверил свой код и изменил одну вещь: вместо привязки моего элемента пользовательского интерфейса к его ViewModel (а viewModel просто «перенаправить»вызов свойства модели), я напрямую связываю пользовательский интерфейс с недвижимостью, и это работает !!Итак ... в MVVM я не могу использовать "ярлыки" ?? .. или, если я их использую, я должен зарегистрироваться для уведомления о свойстве и "распространять" их?