private void SortClick(object sender, RoutedEventArgs e)
        {
            // ReSharper disable once SuggestUseVarKeywordEvident
            GridViewColumnHeader column = sender as GridViewColumnHeader;
            // ReSharper disable SuggestUseVarKeywordEvident
            String field = column.Tag as String;
            // ReSharper restore SuggestUseVarKeywordEvident

            if (_CurSortCol != null)
            {
                AdornerLayer.GetAdornerLayer(_CurSortCol).Remove(_CurAdorner);
                gameListView.Items.SortDescriptions.Clear();
            }

            ListSortDirection newDir = ListSortDirection.Ascending;
            if (_CurSortCol == column && _CurAdorner.Direction == newDir)
                newDir = ListSortDirection.Descending;

            _CurSortCol = column;
            _CurAdorner = new SortAdorner(_CurSortCol, newDir);
            AdornerLayer.GetAdornerLayer(_CurSortCol).Add(_CurAdorner);
            gameListView.Items.SortDescriptions.Add(
                new SortDescription(field, newDir));
        }