//private bool FilterText(object obj) //{ // if (string.IsNullOrWhiteSpace(SearchBox.Text)) // return true; // else // return obj.ToString().IndexOf(SearchBox.Text, StringComparison.OrdinalIgnoreCase) >= 0; //} //private void Search_TextChanged(object sender, RoutedEventArgs e) //{ // if (StatsView != null && StatsView.ItemsSource != null) // CollectionViewSource.GetDefaultView(StatsView.ItemsSource).Refresh(); //} private void AddGroup_Click(object sender, RoutedEventArgs e) { if (GroupTypeBox.SelectedItem is SearchGroup.GroupType type) { SearchGroup s = new SearchGroup(type, Stats); s.RemoveGroupClick += RemoveGroup_Click; GroupsPanel.Children.Add(s); } }
public SearchDialog(ISet <string> stats, FilterCondition filter) { InitializeComponent(); Stats = stats; //StatsView.ItemsSource = new List<string>(Stats); //CollectionViewSource.GetDefaultView(StatsView.ItemsSource).Filter = FilterText; GroupTypeBox.ItemsSource = Enum.GetValues(typeof(SearchGroup.GroupType)).Cast <SearchGroup.GroupType>(); GroupTypeBox.SelectedIndex = 0; if (filter is AndCondition) { foreach (FilterCondition c in ((AndCondition)filter).Subconditions) { SearchGroup s = new SearchGroup(c, Stats); s.RemoveGroupClick += RemoveGroup_Click; GroupsPanel.Children.Add(s); } } }