0

我有一个 WPF Gridview 和三个按钮。两个排序,一个应用过滤器。他们都独立工作。问题是排序后,我必须单击过滤器按钮,然后再次单击排序按钮才能应用过滤器。我希望这对于 Items.SortDescriptions 和 Items.Refresh() 来说很简单。如果没有,我相信你会让我知道,我会添加更多。

    private void btnApply_Click(object sender, RoutedEventArgs e){
        DataList.Clear();
        foreach(FilterItem f in FilterList){
            if (f.isChecked && listBox.Items.IndexOf(f) > -1 ) {
                DataList.Add(f.Name);
            }
        }
        myListView.Items.Refresh();
        this.contextFilter.IsOpen = false;
    }

    private void btnSortAsc_Click(object sender, RoutedEventArgs e){
        SortDescription sa = new SortDescription("", System.ComponentModel.ListSortDirection.Ascending);
        myListView.Items.SortDescriptions.Clear();
        myListView.Items.SortDescriptions.Add(sa);
        this.contextFilter.IsOpen = false;
    }

    private void btnSortDec_Click(object sender, RoutedEventArgs e){
        SortDescription sd = new SortDescription("", System.ComponentModel.ListSortDirection.Descending);
        myListView.Items.SortDescriptions.Clear();
        myListView.Items.SortDescriptions.Add(sd);
        this.contextFilter.IsOpen = false;
    }
4

0 回答 0