我用一个方法绑定了PropertyChanged事件处理程序,但是,无论我是使用realm.write()还是使用ros来修改属性,它都不会触发。
我的模型结构如下:我有一个包含IList<Device> Devices属性的DeviceList RealmObject。Device RealmObject也有一个嵌套属性People,而People也是一个RealmObject。当我使用DeviceList.Devices.SubscribeForNotifications()时,一切运行正常,在ros中更改People的属性将自动且正确地触发通知事件。但是,Device.People.PropertyChanged += (do something);根本不会触发,Device.PropertyChanged += (do something);也不会触发,绑定到Device.People.(Property)的UI也不会更新;但是当我使用断点访问数据时,嵌套的People中的所有数据都发生了更改。获取嵌套对象更改和更新绑定UI的正确方法是什么?
谢谢。
发布于 2018-02-01 02:08:49
只有对象的顶级属性才会触发PropertyChanged事件。如果相关对象发生更改,例如:
foo.PropertyChanged += (s, e) =>
{
Console.WriteLine(e.PropertyName);
};
foo.Bar.Something = 5; // Doesn't trigger anything
foo.Bar = new Bar(); // Triggers notificationhttps://stackoverflow.com/questions/48533217
复制相似问题