[英]Updating ListView by changed RealmList<>
假设此数据模型基于realm.io :
public class JournalEntry : RealmObject {
...
}
public class JournalOwner : RealmObject {
...
public RealmList<JournalEntry> Entries { get; }
}
我有一个JournalEntriesPage ,它显示JournalOwner的所有JournalEntry项目的ListView 。
在相应的视图模型内,我将JournalOwner传递给构造函数,并将JournalOwner.Entries分配给Entries属性。
public class JournalEntriesViewModel {
private Realm _realm;
private JournalOwner _owner;
public RealmList<JournalEntry> Entries {
get { return _owner.Entries; }
}
....
public JournalEntriesViewModel( JournalOwner owner ) {
_realm = Realm.GetInstance();
_owner = owner;
AddEntryCommand = new Command(AddEntry);
DeleteEntryCommand = new Command<JournalEntry>(DeleteEntry);
}
如果我通过UI添加JournalEntry ,则会创建它,但不会出现在ListView中 。
如果我向上移动导航(到JournalOwner ),然后向下移动到所有者的条目,则ListView将显示新创建的JournalEntry 。
不知何故, JournalEntry的ListView不了解新创建的JournalEntry。
JournalEntriesPage像这样绑定ListView:
<ListView
ItemsSource="{Binding Entries}"
x:Name="EntriesListView"
ItemTapped="OnItemTapped"
ItemSelected="OnItemSelected" >
如何管理ListView立即显示新创建的条目?
我觉得我需要以某种方式通知观察者(?)其值发生了变化。
在相应情况下,更改
Owners = _realm.All<JournalOwner>();
强制相应的ListView立即更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.