diff options
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); } |