C# WPF将搜索功能添加到列表
我已经创建了一个“学徒”类型的列表,其中每个“学徒”对象中都存储了诸如姓名、ID和职业之类的内容。在WPF中,我在列表视图中显示学徒的照片和姓名。现在我添加了一个文本框,您可以在其中搜索学徒的姓名。到目前为止,我所得到的只是:C# WPF将搜索功能添加到列表,c#,wpf,listview,C#,Wpf,Listview,我已经创建了一个“学徒”类型的列表,其中每个“学徒”对象中都存储了诸如姓名、ID和职业之类的内容。在WPF中,我在列表视图中显示学徒的照片和姓名。现在我添加了一个文本框,您可以在其中搜索学徒的姓名。到目前为止,我所得到的只是: private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e) { SortedListByName.Find(x =&
private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
SortedListByName.Find(x => x.Name == searchBox.Text);
}
当我完全正确地输入名字时,我的徒弟就会这样做,比如“John Doe”。我希望它能过滤每个学徒,如果他们不以给定的字母开头。例如,名单中有“约翰·多伊”、“简·多伊”、“迈克尔·迈尔斯”和“弗雷迪·克鲁格”。当我开始输入“D”时,将不再显示“迈克尔·迈尔斯”和“弗雷迪·克鲁格”,只显示约翰和简,因为他们的姓氏以“D”开头。或者,通过名称中的每个相似性来搜索列表。如果我输入“ers”,它会显示“michaelmyers”。但我不知道该怎么开始
private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
SortedListByName.Where(x => x.Name.ToUpper().StartsWith(searchBox.Text.ToUpper());
}
Where ToUpper()允许您查找忽略它们的项目。
此函数将为您提供一组项目作为输出,这些项目从您在文本框中输入的字符开始。您可以选择将StartsWith()方法替换为Contains()或EndsWith()方法