【发布时间】:2017-03-07 11:29:38
【问题描述】:
我目前正在开发一个信使应用程序。因此我使用领域将数据存储在设备上。我的应用程序包含一个页面来表示列表视图中的所有聊天线程。因此,我将 ListView 绑定到了 IRealmCollection。如果我在 Messagethread 中更改属性,我可以看到 Litview 正在相应更新。但是当我在线程中插入一条消息时,用户界面不会。
public class Messagethread : RealmObject
{
[PrimaryKey]
public string Guid { get; set; }
public IList<User.User> Users { get; }
[Backlink(nameof(Message.Message.MessageThread))]
public IQueryable<Message.Message> Messages { get; }
public User.User Owner { get; set; }
public string Title { get; set; }
public int CountOfUnreadMessages { get; set; }
public bool IsPrivate { get; set; }
public DateTimeOffset LastSyncDate { get; set; }
public DateTimeOffset LastSingleSyncDate { get; set; }
public int ItemSyncStatus { get; set; }
public void CallPropertyChanged(string name)
{
base.OnPropertyChanged(name);
}
}
public class Message : RealmObject
{
[PrimaryKey]
public string Guid { get; set; }
public Messagethread MessageThread { get; set; }
public User.User Author { get; set; }
public string Body { get; set; }
[Backlink(nameof(MessageAttachement.MessageAttachement.Message))]
public IQueryable<MessageAttachement.MessageAttachement> Attachements { get; }
public string Title { get; set; }
public DateTimeOffset SendDate { get; set; }
public bool SystemMessage { get; set; }
public DateTimeOffset LocalSyncDate { get; set; }
public DateTimeOffset ChangeTime { get; set; }
public bool IsSynced { get; set; }
}
当我插入新消息时,我尝试在“消息”属性上调用 PropertyChanged。但这也没有用。
如果反向链接属性发生更改,是否有办法实现自动更新 UI 的行为?
感谢您的帮助 朱利安
【问题讨论】:
-
你是如何在
Messagethread中绑定反向链接属性(Messages)的? -
嘿@SushiHangover,我使用
绑定 Backlink'd 属性。 -
我会反向链接 from Message to MessageThread,然后更新所有通知(INotifyPropertyChanged)。如果可以,我会发布一个示例帮助。
-
嘿,@SushiHangover 如果你能给我发一个小例子就好了:)。