我有一个搜索屏幕,其中包含用户及其路线的列表。在寻找如何在ListView中显示ListView的过程中,我打开了此解决方案:Link
我没有显示数据的问题,但是我对如何实现应用程序的搜索功能迷失了。我需要能够在搜索栏中输入任何内容并显示所有匹配项(这意味着我需要能够通过用户:名称,路线:从,到)。
public class User
{
public string Name { get; set; }
public List<Route> route { get; set; }
}
public class Route
{
public string From { get; set; }
public From To{ get; set; }
}
分组(下面的代码在ViewModel内部)
ObservableCollection<Grouping<User, Route>> userCollection { get; set; } =
new ObservableCollection<Grouping<User, Route>>();
以前,在使用分组之前,我使用下面的代码来过滤列表(尽管该列表没有嵌套列表):
userCollectionUnfiltered
.Where(
i => (i is UserModel
&& ((((UserModel)i).UserName.ToLower().Contains(searchText.ToLower()))
|| (((UserModel)i).LocationFrom.ToLower().Contains(searchText.ToLower()))
|| (((UserModel)i).LocationTo.ToLower().Contains(searchText.ToLower()))));
如何使用分组进行搜索?