/// Gets the header columns data template. private static DataTemplate GetHeaderColumnsDataTemplate(System.Windows.Controls.ListView view, ListViewSortItem listViewSortItem, ListSortDirection sortDirection) { // remove mark from previous sort column if (listViewSortItem.LastColumnHeaderClicked != null) { listViewSortItem.LastColumnHeaderClicked.Column.HeaderTemplate = view.TryFindResource("ListViewHeaderTemplateNoSorting") as DataTemplate; } // set correct mark to current column switch (sortDirection) { case ListSortDirection.Ascending: return(view.TryFindResource("ListViewHeaderTemplateAscendingSorting") as DataTemplate); case ListSortDirection.Descending: return(view.TryFindResource("ListViewHeaderTemplateDescendingSorting") as DataTemplate); default: return(null); } }