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;
}