У меня есть требование в моем приложении wp7, что я должен выполнить частичный поиск совпадений (несколько полей говорят имя и фамилия) в коллекции списка (например, список контактов) на каждое нажатие на текстовое поле поиска и привязать к списку. Я написал запрос linq, чтобы получить результат при событии texchanged. Я получаю результат, как ожидалось, однако это не так быстро, если у меня есть более 500 предметов в коллекции.WP7 Поиск в текстовом поле textchanged event
Я разместил код ниже, я очень признателен, если кто-то может помочь мне в настройке проблемы с производительностью.
private void TechChanged(object sender, TextChangedEventArgs e)
{
IList<Contacts> results = searchcontList
.Where(tb => tb.SearchText.Contains(textsearch.Text))
.ToList();
//"SearchText" is an attribute in contacts class which is concatination values of all the fields in contacts class
listcontact.ItemsSource = results;
}
Вы пробовали AutoCompleteBox из Silverlight Toolkit для Windows Phone: http://windowsphonegeek.com/articles/autocompletebox-for-wp7-in-depth –
Да, но AutoCompleteBox для предложения не подходит для этого требования. Мне нужно связать результат с списком, который также содержит другие столбцы. Tobe более конкретный, скажем, у меня есть коллекция котактов [имя, фамилия, адрес электронной почты, номер телефона и т. Д.]. В этом случае мне может потребоваться выполнить поиск по anyfied, введя текст в текстовое поле поиска, чтобы запрос выполнял частичное совпадение и дал согласованный результат, который мне нужно связать со списком. Это я должен сделать в текстовом поле textearch. – user1371727