Beispiel #1
0
        private void lvDeviceDataHeader_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                GridViewColumnHeader headerClicked = e.OriginalSource as GridViewColumnHeader;
                ListSortDirection    direction;

                if (headerClicked != null)
                {
                    if (headerClicked.Role != GridViewColumnHeaderRole.Padding)
                    {
                        if (headerClicked != _lastHeaderClicked)
                        {
                            direction = ListSortDirection.Ascending;
                        }
                        else
                        {
                            if (_lastDirection == ListSortDirection.Ascending)
                            {
                                direction = ListSortDirection.Descending;
                            }
                            else
                            {
                                direction = ListSortDirection.Ascending;
                            }
                        }

                        string header = headerClicked.Column.Header as string;
                        if (header == null)
                        {
                            header = "IsSelected";
                        }
                        Sort(DeviceModel.GetPropertyName(header), direction);

                        _lastHeaderClicked = headerClicked;
                        _lastDirection     = direction;
                    }
                }
            }
            catch { }
        }