public void ToggleSort(HeaderTextVisual v, bool add) { // Order: None -> Ascending -> Descending -> Ascending -> Descending -> ... v.ToggleSortOrder(); if (add) { // Shift+Click adds column to the sorting set. _sortOrder.Add(v); } else { // Clear all column sorts except the one that was clicked on. ResetSortToPrimary(v); _sortOrder.ResetTo(v); } SortOrderChanged?.Invoke(this, EventArgs.Empty); }