summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Smith <jason.smith@xamarin.com>2016-04-18 09:44:21 -0700
committerJason Smith <jason.smith@xamarin.com>2016-04-18 09:44:21 -0700
commitfc05a57e9dfa5b70e21b08f9c8f839b7986b4698 (patch)
tree87484d46ca24d00ca3c38d4c9b85c849d3298722
parent9c005f30227eaf0d3aa7d253a7c3a9ea427c91c2 (diff)
downloadxamarin-forms-fc05a57e9dfa5b70e21b08f9c8f839b7986b4698.tar.gz
xamarin-forms-fc05a57e9dfa5b70e21b08f9c8f839b7986b4698.tar.bz2
xamarin-forms-fc05a57e9dfa5b70e21b08f9c8f839b7986b4698.zip
Make sure StaticResources can be looked up in ResourceDictionaries directly (#106)
-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);
}