// what to do as the user types in searchbox void SetContactsFiltered() { if (ContactsGrouped == null) { return; } ContactsFiltered = new ObservableCollection <Grouping <string, ContactCellViewModel> >( ContactsGrouped.Select(group => new Grouping <string, ContactCellViewModel>(group.Key, group.Where(contact => contact.Last.ToLower().Contains(SearchText.ToLower()) || contact.First.ToLower().Contains(SearchText.ToLower())))).Where(group => group.Any()) ); }