Realm dotnet Nested RealmObject PropertyChanged不会触发

时间:2018-01-31 01:45:12

标签: .net xamarin.forms realm

我使用方法绑定了PropertyChanged事件处理程序,但是,无论我使用的是realm.write()还是使用ros来修改属性,它根本不会触发。

我的模型结构如下:我有一个DeviceList RealmObject,其中包含IList<Device> Devices属性。 Device RealmObject也有一个嵌套属性People,而People也是一个RealmObject。 当我使用DeviceList.Devices.SubscribeForNotifications()时,一切正常,对ros中People属性的更改将自动且正确地触发通知事件。但是,Device.People.PropertyChanged += (do something);根本没有触发,Device.PropertyChanged += (do something);和绑定到Device.People.(Property)的用户界面也不会更新;但是当我使用断点访问数据时,嵌套People中的所有数据都发生了变化。获取嵌套对象更改和更新绑定UI的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

PropertyChanged事件只会触发对象的顶级属性。如果相关对象发生变化,例如:

foo.PropertyChanged += (s, e) =>
{
    Console.WriteLine(e.PropertyName);
};

foo.Bar.Something = 5; // Doesn't trigger anything
foo.Bar = new Bar(); // Triggers notification