Как использовать текстовое поле для поиска списка wpf - PullRequest
0 голосов
/ 08 мая 2019

У меня есть список, непосредственно назначенный списку. Я хочу использовать текстовое поле и кнопку для поиска содержимого списка, поэтому после ввода слова, когда пользователь нажимает кнопку, он отображает его в списке всех записей. Например. если я наберу яблоко и нажму ввод, в списке должны появиться записи о слове, содержащем яблоко.

Я назначил список списку, используя:

Messages.ItemSource = messages;

Пока у меня есть

private void button_Click(object sender, EventArgs e)
{

}

Но я не знаю, что поместить в кнопку

1 Ответ

0 голосов
/ 08 мая 2019

Вы захотите перебирать записи сообщений, которые вы установили для ItemSource, и проверять каждую запись на соответствие текущему сообщению. Вы можете сделать это, используя метод Linq Where. Затем, как только вы выбрали все сообщения, которые содержат выбранное слово, вы можете установить свой ItemSource в список найденных слов. Вот образец.

public List<string> messages = new List<string>() { "Apple", "Apple Pie", "Apple Jam", "Orange", "Banana" };

public void button_Click(object sender, EventArgs e)
{
    var foundList = messages.Where(m => m.Contains(textBox.Text)).ToList();        
    Messages.ItemsSource = foundList;
}

У меня сейчас нет доступа к visual studio, поэтому я не проверял это, но должно быть что-то вроде этого. И вы должны быть в состоянии добавить этот код к событию TextBoxChanged, чтобы он обновлялся во время ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...