fan*_*dro 5 c# xamarin xamarin.forms
我想按 Xamarin Form 应用程序的名称过滤对象ObservableCollection
。Person
目标是对其进行过滤ObservableCollection
以仅显示其中的一部分。
这是我的 Person 对象类:
public class Person
{
public string Name { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试制作这样的过滤器:
private ObservableCollection<Person> personItems = new ObservableCollection<Person>();
public ObservableCollection<Person> PersonItems
{
get { return personItems; }
set { personItems = value; OnPropertyChanged(); }
}
public void FilterPerson(string filter)
{
if (string.IsNullOrWhiteSpace(filter))
{
PersonItems = personItems;
}
else
{
PersonItems = personItems.Where((person) => person. Name.ToLower().Contains(filter));
// Error here
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
无法显式转换类型:“System.Collections.Generic.IEnumerable”到“System.Collections.ObjectModel.ObservableCollection”
PersonItems = personItems.Where((person) => person. Name.ToLower().Contains(filter));
Run Code Online (Sandbox Code Playgroud)
返回 IEnumerable。
替换为PersonItems = new ObservableCollection<Person>(personItems.Where((person) => person.Name.ToLower().Contains(filter)));
您必须使用过滤后的结果重新创建可观察的结果。
归档时间: |
|
查看次数: |
9495 次 |
最近记录: |