summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2017-04-11 20:09:06 +0200
committerJason Smith <jason.smith@xamarin.com>2017-04-11 11:09:06 -0700
commitd3cc1b5651918c9d306ec0002515371cae85262a (patch)
tree9c77998e3a5849e27c36da703e79ccdfe615ec5c /Xamarin.Forms.Core
parent093a4efa2da9cb681890158ca8ee9bb6f30b0a8c (diff)
downloadxamarin-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.cs10
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));
}