我正在尝试制作一个过滤列表框,用于过滤结果但是所选项目的索引仍然与原始列表顺序相同,下面是我执行过滤的方式
private void FilterTextBox_ChangedEvent(object sender, TextChangedEventArgs e)
{
if (!FilterNameTextBox.Text.Equals("Filter name....") || !String.IsNullOrWhiteSpace(FilterNameTextBox.Text))
{
Users.ItemsSource = UserListArray
.Where(w => w.name.ToLower().Contains(FilterNameTextBox.Text.ToLower()));
}
}
我使用UserListArray.name
来匹配来自FilterNameTextBox.Text.ToLower()
的用户输入。
我的问题的例子
原始列表
AB => 1
BB => 2
CD => 3
DD => 4
过滤列表,字母D
CD => 1
DD => 2
如果您看到返回的对象与列表反映的内容不匹配, 我怎么能进行过滤但是使用过滤列表中的新对象?