summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml2
-rw-r--r--Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml.cs2
-rw-r--r--Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs7
3 files changed, 6 insertions, 5 deletions
diff --git a/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml b/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml
index 8d86d57a..b6400e21 100644
--- a/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml
+++ b/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml
@@ -11,4 +11,6 @@
<Style TargetType="Label">
<Setter Property="TextColor" Value="Red" />
</Style>
+ <Color x:Key="TestingColor">#454545</Color>
+ <Label x:Key="label" BackgroundColor="{StaticResource TestingColor}" />
</ResourceDictionary> \ No newline at end of file
diff --git a/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml.cs
index f4f53cae..aec2f4b5 100644
--- a/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml.cs
+++ b/Xamarin.Forms.Xaml.UnitTests/SharedResourceDictionary.xaml.cs
@@ -27,7 +27,7 @@ namespace Xamarin.Forms.Xaml.UnitTests
public void ResourcesDirectoriesCanBeXamlRoots (bool useCompiledXaml)
{
var layout = new SharedResourceDictionary (useCompiledXaml);
- Assert.AreEqual (3, layout.Count);
+ Assert.AreEqual (5, layout.Count);
}
}
}
diff --git a/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs b/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
index 4f1465d3..cf672a3d 100644
--- a/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
+++ b/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
@@ -27,12 +27,11 @@ namespace Xamarin.Forms.Xaml
foreach (var p in valueProvider.ParentObjects)
{
var ve = p as VisualElement;
- if (ve == null)
- continue;
- if (ve.Resources == null)
+ var resDict = ve?.Resources ?? p as ResourceDictionary;
+ if (resDict == null)
continue;
object res;
- if (ve.Resources.TryGetValue(Key, out res))
+ if (resDict.TryGetValue(Key, out res))
{
return ConvertCompiledOnPlatform(res);
}