Microsoft.Windows.Controls.Ribbon.RibbonGalleryCategory.ClearContainerForItemOverride C# (CSharp) Method

ClearContainerForItemOverride() protected method

Called when the container is being detached from the parent ItemsControl
protected ClearContainerForItemOverride ( DependencyObject element, object item ) : void
element System.Windows.DependencyObject
item object
return void
        protected override void ClearContainerForItemOverride(DependencyObject element, object item)
        {
            RibbonGalleryItem galleryItem = (RibbonGalleryItem)element;

            // Turn off selection and highlight on GalleryItems that are being cleared.
            // Note that we directly call Change[Selection/Highlight] instead of setting
            // Is[Selected/Highlighted] because we aren't able to get ItemFromContainer
            // in OnIs[Selected/Highlighted]Changed because the ItemContainerGenerator
            // has already detached this container.
            if (galleryItem.IsHighlighted)
            {
                galleryItem.RibbonGallery.ChangeHighlight(item, galleryItem, false);
            }
            if (galleryItem.IsSelected)
            {
                galleryItem.RibbonGallery.ChangeSelection(item, galleryItem, false);
            }

            galleryItem.RibbonGalleryCategory = null;
            base.ClearContainerForItemOverride(element, item);
        }