过滤领域列表不更新列表视图

时间:2018-03-14 12:35:05

标签: xamarin.forms realm

我只是在接受Realm并正在试用Xamarin Forms中GitHub上的QuickJournal示例

在构造函数的列表视图中加载条目后,如下所示

 public JournalEntriesViewModel()
    {
        _realm = Realm.GetInstance();

        Entries = _realm.All<JournalEntry>();

       .. .
    }

我添加了一个搜索栏,并尝试过滤和更新Entries集合

public string Filter
{
  get
  {
    retur _filter;
  }
  set
  {
    _filter = value;
    Filter();
  }
}


private void Filter()
{
   Entries = _realm.All<JournalEntry>().Where(i => i.Title.StartsWith(_filter));
}

Filter属性绑定到Xaml中的SearchBar文本,并且Entries列表更改但UI永远不会更新。我的印象是,由于Realm使用Fody,通知会传播到UI进行更新。

我还尝试使用ToList进行以下更改以触发查询&amp;将其映射到文档中提到的领域核心,但无济于事。将条目转换为RealmCollection并不起作用

Entries = _realm.All<JournalEntry>().ToList().Where(i => i.Title.StartsWith(_filter));

有人可以解释我在这里缺少的东西

非常感谢

1 个答案:

答案 0 :(得分:0)

我设法通过为Entries属性触发PropertyChanged事件来解决此问题,以在分配值后更新UI。