Microsoft.Windows.Controls.Ribbon.RibbonGalleryItem.OnIsSelectedChanged C# (CSharp) Method

OnIsSelectedChanged() private static method

private static OnIsSelectedChanged ( DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e ) : void
d System.Windows.DependencyObject
e System.Windows.DependencyPropertyChangedEventArgs
return void
        private static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RibbonGalleryItem galleryItem = (RibbonGalleryItem)d;
            bool isSelected = (bool)e.NewValue;

            RibbonGalleryCategory category = galleryItem.RibbonGalleryCategory;

            if( category != null )
            {
                RibbonGallery gallery = category.RibbonGallery;
                if (gallery != null)
                {
                    // Give the RibbonGallery a reference to this container and its data
                    object item = category.ItemContainerGenerator.ItemFromContainer(galleryItem);
                    if (item == DependencyProperty.UnsetValue)
                    {
                        item = galleryItem;
                    }
                    gallery.ChangeSelection(item, galleryItem, isSelected);
                }
            }
        }