我有一个 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;
}