private void SortByColumn(GridViewColumnHeader sortColumn) { _projectList.Items.SortDescriptions.Clear(); var sortDescription = new SortDescription(); sortDescription.PropertyName = SortableColumnHeaderAttachedProperties.GetSortPropertyName(sortColumn); var sortDir = SortableColumnHeaderAttachedProperties.GetSortDirectionProperty(sortColumn); sortDescription.Direction = sortDir == null ? ListSortDirection.Ascending : sortDir == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending; SortableColumnHeaderAttachedProperties.SetSortDirectionProperty(obj: sortColumn, value: sortDescription.Direction); _projectList.Items.SortDescriptions.Add(sortDescription); foreach (var column in _sortableColumns) { if (column == sortColumn) { continue; } SortableColumnHeaderAttachedProperties.RemoveSortDirectionProperty(obj: column); } }
private void SortByColumn(GridViewColumnHeader sortColumn) { var sortDescription = new SortDescription(); sortDescription.PropertyName = SortableColumnHeaderAttachedProperties.GetSortPropertyName(sortColumn); var sortDir = SortableColumnHeaderAttachedProperties.GetSortDirectionProperty(sortColumn); sortDescription.Direction = sortDir == null ? ListSortDirection.Ascending : sortDir == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending; UpdateColumnSorting(sortColumn, sortDescription); }
private void UpdateHeaderAutomationProperties(GridViewColumnHeader columnHeader) { var sortDir = SortableColumnHeaderAttachedProperties.GetSortDirectionProperty(columnHeader); string oldHelpText = AutomationProperties.GetHelpText(columnHeader); string newHelpText; if (sortDir == ListSortDirection.Ascending) { newHelpText = Resx.Resources.Accessibility_ColumnSortedAscendingHelpText; } else if (sortDir == ListSortDirection.Descending) { newHelpText = Resx.Resources.Accessibility_ColumnSortedDescendingHelpText; } else { newHelpText = Resx.Resources.Accessibility_ColumnNotSortedHelpText; } AutomationProperties.SetHelpText(columnHeader, newHelpText); var peer = UIElementAutomationPeer.FromElement(columnHeader); peer?.RaisePropertyChangedEvent(AutomationElementIdentifiers.HelpTextProperty, oldHelpText, newHelpText); }