private IEnumerable <KeyValuePair <string, object> > EnumerateResources(ResourceDictionary resourceDictionary) { foreach (var rd in resourceDictionary.EnumerateDictionaries()) { foreach (var keyObj in rd.Keys) { var key = keyObj as string; if (key == null) { continue; } var value = rd[keyObj]; yield return(new KeyValuePair <string, object>(key, value)); } } }