Я пишу фильтр, который будет выбирать предметы. У меня есть список объектов. Объекты содержат номер, имя и некоторые другие не относящиеся к делу элементы. На данный момент список содержит 200 наименований. При вводе textbox
я смотрю, соответствует ли строка части числа / имени объектов в списке. Если это так, добавьте их в listbox
. Вот код для моего события с текстовым полем:
private void txtTelnumber_TextChanged(object sender, TextChangedEventArgs e)
{
lstOverview.Items.Clear();
string data = "";
foreach (ucTelListItem telList in _allUsers)
{
data = telList.User.H323 + telList.user.E164;
if (data.Contains(txtTelnumber.Text))
lstOverview.Items.Add(telList);
}
}
Иногда я вижу небольшую задержку при вводе символа, особенно когда я перехожу с 4 записей на 200 записей (поэтому, когда у меня был фильтр и 4 записи совпадают, и я возвращаюсь назад, и весь список появляется снова).
Мой список представляет собой список пользовательских элементов управления, потому что я обнаружил, что загрузка пользовательских элементов управления из списка занимает меньше времени, чем каждый раз при инициализации нового пользовательского элемента управления.
Могу ли я что-то сделать с кодом или просто добавление usercontrol
listbox
, которое вызывает небольшую задержку (малая задержка = <1 сек)? </p>
Заранее спасибо.
Редактировать
Я редактировал пост, это wpf. А размещение элементов в списке и установка источника элементов не решают проблему.