Microsoft.Windows.Controls.Ribbon.RibbonGallery.ContainsItem C# (CSharp) Method

ContainsItem() private method

private ContainsItem ( object item, bool ignoreItemContainerGeneratorStatus, RibbonGalleryCategory &category, RibbonGalleryItem &galleryItem ) : bool
item object
ignoreItemContainerGeneratorStatus bool
category RibbonGalleryCategory
galleryItem RibbonGalleryItem
return bool
        private bool ContainsItem(
            object item,
            bool ignoreItemContainerGeneratorStatus,
            out RibbonGalleryCategory category, 
            out RibbonGalleryItem galleryItem)
        {
            category = null;
            galleryItem = null;
            int index = -1;

            if (!ignoreItemContainerGeneratorStatus &&
                ItemContainerGenerator.Status != GeneratorStatus.ContainersGenerated)
            {
                return true;
            }

            foreach (object current in Items)
            {
                category = ItemContainerGenerator.ContainerFromItem(current) as RibbonGalleryCategory;
                if (category != null)
                {
                    index = category.Items.IndexOf(item);
                    if (index > -1)
                    {
                        galleryItem = category.ItemContainerGenerator.ContainerFromIndex(index) as RibbonGalleryItem;
                        break;
                    }
                    category = null;
                }
            }

            return index > -1;
        }
RibbonGallery