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

ContainsValue() private method

private ContainsValue ( object value, bool ignoreItemContainerGeneratorStatus, object &item, RibbonGalleryCategory &category, RibbonGalleryItem &galleryItem ) : bool
value object
ignoreItemContainerGeneratorStatus bool
item object
category RibbonGalleryCategory
galleryItem RibbonGalleryItem
return bool
        private bool ContainsValue(
            object value,
            bool ignoreItemContainerGeneratorStatus,
            out object item, 
            out RibbonGalleryCategory category, 
            out RibbonGalleryItem galleryItem)
        {
            item = null;
            category = null;
            galleryItem = null;

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

            ContentControl dummyElement = new ContentControl();

            foreach (object current in Items)
            {
                category = ItemContainerGenerator.ContainerFromItem(current) as RibbonGalleryCategory;
                if (category != null)
                {
                    for (int index=0; index<category.Items.Count; index++)
                    {
                        item = category.Items[index];
                        object itemValue = GetSelectableValueFromItem(item, dummyElement);
                        if (VerifyEqual(value, itemValue))
                        {
                            galleryItem = category.ItemContainerGenerator.ContainerFromIndex(index) as RibbonGalleryItem;
                            return true;
                        }
                        item = null;
                    }
                    category = null;
                }
            }

            return false;
        }
RibbonGallery