public IEnumerator <ResourceDictionary> GetResourceDictionariesWhere(Func <ResourceDictionary, bool> predicate) { ResourceDictionaryEnumerator enumerator = new ResourceDictionaryEnumerator(this, predicate); _ignoreResourceDictionaryDispensedByEnumerator = true; try { foreach (ResourceDictionaryDispensedEventArgs args in _resourceDictionariesDispensed) { enumerator.ResourceDictionaryDispenserResourceDictionaryDispensed(this, args); } } finally { _ignoreResourceDictionaryDispensedByEnumerator = false; } _resourceDictionaryEnumerators.Add(enumerator); return(enumerator); }