コード例 #1
0
        /// <summary>Wird aufgerufen, wenn sich die SortAtHeaderClick Eigenschaft ändert</summary>
        private static void OnSortAtHeaderClickChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var lv = (ListView)d;

            if ((bool)e.NewValue)
            {
                LastClickedHeaders.Add(new WeakReference(lv), null);
                LastDirections.Add(new WeakReference(lv), ListSortDirectionEx.Ascending);
                lv.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnClicked));
            }
            else
            {
                lv.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ColumnClicked));
                var gv = lv.View as GridView;
                if (gv != null)
                {
                    foreach (var col in gv.Columns)
                    {
                        col.HeaderTemplate = null;
                    }
                }
                ClearSortRules(lv);
                LastClickedHeaders.Remove(LastClickedHeaders.FirstOrDefault(x => Equals(x.Key.Target, lv)).Key);
                LastDirections.Remove(LastDirections.FirstOrDefault(x => Equals(x.Key.Target, lv)).Key);
            }
        }
コード例 #2
0
        /// <summary>Wird aufgerufen, wenn sich die IsSortAtClickEnabled-Eigenshcat ändert.</summary>
        private static void OnIsSortAtClickEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if ((bool)e.NewValue)
            {
                return;
            }
            var col = (GridViewColumn)d;

            foreach (var item in LastClickedHeaders.Where(item => item.Value != null && Equals(item.Value.Column, col)))
            {
                col.HeaderTemplate = null;
                ClearSortRules(item.Key.Target as ListView);
            }
        }