public override void TextChanged(object sender, TextChangedEventArgs ea) { var filtered = new ItemFilter <IItem>(BaseItems, Text); if (!filtered.Any()) { ea.Handled = true; if (Text.Any()) { Text = Text.Substring(0, Text.Length - 1); SetCaret(Text.Length); } return; } Items = filtered; }
private bool updateItems() { var items = ListerManager.Instance.CommandManager.CurrentView.View.Items.Cast<IPopupItem>(); var filtered = new ItemFilter(items, Text); if (!filtered.Any()) return false; SetGridSelection(filtered.MatchesBeginning.FirstOrDefault() ?? filtered.MatchesContaining.FirstOrDefault()); ListItems = filtered; Input.ListBox.SelectedIndex = 0; return true; }