diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-04-11 20:09:06 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2017-04-11 11:09:06 -0700 |
commit | d3cc1b5651918c9d306ec0002515371cae85262a (patch) | |
tree | 9c77998e3a5849e27c36da703e79ccdfe615ec5c /Xamarin.Forms.Core | |
parent | 093a4efa2da9cb681890158ca8ee9bb6f30b0a8c (diff) | |
download | xamarin-forms-d3cc1b5651918c9d306ec0002515371cae85262a.tar.gz xamarin-forms-d3cc1b5651918c9d306ec0002515371cae85262a.tar.bz2 xamarin-forms-d3cc1b5651918c9d306ec0002515371cae85262a.zip |
[C] Lookup in RD also lookup in merged RDs (#861)
Diffstat (limited to 'Xamarin.Forms.Core')
-rw-r--r-- | Xamarin.Forms.Core/ResourceDictionary.cs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Xamarin.Forms.Core/ResourceDictionary.cs b/Xamarin.Forms.Core/ResourceDictionary.cs index c9413eb3..2fc11ffc 100644 --- a/Xamarin.Forms.Core/ResourceDictionary.cs +++ b/Xamarin.Forms.Core/ResourceDictionary.cs @@ -48,7 +48,8 @@ namespace Xamarin.Forms bool ICollection<KeyValuePair<string, object>>.Contains(KeyValuePair<string, object> item) { - return ((ICollection<KeyValuePair<string, object>>)_innerDictionary).Contains(item); + return ((ICollection<KeyValuePair<string, object>>)_innerDictionary).Contains(item) + || (_mergedInstance != null && _mergedInstance.Contains(item)); } void ICollection<KeyValuePair<string, object>>.CopyTo(KeyValuePair<string, object>[] array, int arrayIndex) @@ -91,6 +92,8 @@ namespace Xamarin.Forms { if (_innerDictionary.ContainsKey(index)) return _innerDictionary[index]; + if (_mergedInstance != null && _mergedInstance.ContainsKey(index)) + return _mergedInstance[index]; throw new KeyNotFoundException($"The resource '{index}' is not present in the dictionary."); } set @@ -137,11 +140,6 @@ namespace Xamarin.Forms public bool TryGetValue(string key, out object value) { - return _innerDictionary.TryGetValue(key, out value); - } - - internal bool TryGetMergedValue(string key, out object value) - { return _innerDictionary.TryGetValue(key, out value) || (_mergedInstance != null && _mergedInstance.TryGetValue(key, out value)); } |