Microsoft.Windows.Controls.Ribbon.RibbonGallery.OnCurrentFilterChanged C# (CSharp) Метод

OnCurrentFilterChanged() приватный статический Метод

private static OnCurrentFilterChanged ( DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e ) : void
d System.Windows.DependencyObject
e System.Windows.DependencyPropertyChangedEventArgs
Результат void
        private static void OnCurrentFilterChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonGallery gallery = (RibbonGallery)d;
            object newFilter = e.NewValue;

            Debug.Assert(gallery.ItemContainerGenerator.Status == GeneratorStatus.ContainersGenerated);

            for (int i = 0; i < gallery.Items.Count; i++)
            {
                RibbonGalleryCategory category;
                object dataToCompareAgainst;

                // If this item is a RibbonGalleryCategory, then we want to compare against its Header.
                // Otherwise compare against the item itself.
                if (gallery.Items[i] is RibbonGalleryCategory)
                {
                    category = (RibbonGalleryCategory)gallery.Items[i];
                    dataToCompareAgainst = category.Header;
                }
                else
                {
                    category = (RibbonGalleryCategory)gallery.ItemContainerGenerator.ContainerFromIndex(i);
                    dataToCompareAgainst = gallery.Items[i];
                }

                // Show the category if the current filter is the "All" filter or dataToCompareAgainst.
                if (Object.ReferenceEquals(newFilter, _allFilter) ||
                    Object.ReferenceEquals(newFilter, dataToCompareAgainst))
                {
                    category.Visibility = Visibility.Visible;
                }
                else
                {
                    category.Visibility = Visibility.Collapsed;
                }
            }

            gallery.CoerceValue(RibbonGallery.CurrentFilterStyleProperty);
            gallery.SetHeaderBindingForCurrentFilterItem();
            gallery.CoerceValue(RibbonGallery.CurrentFilterTemplateProperty);
        }
RibbonGallery