WPF Gridview と 3 つのボタンがあります。2 つの並べ替えと 1 つのフィルターを適用します。それらはすべて独立して動作します。問題は、並べ替えた後、フィルター ボタンをクリックしてからもう一度並べ替えボタンをクリックして、フィルターを適用する必要があることです。これが、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;
}