Вы захотите перебирать записи сообщений, которые вы установили для 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, чтобы он обновлялся во время ввода.