diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs
index 70c45c3e7f..d071f78076 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/DynamicResourceTests.cs
@@ -252,6 +252,75 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
}
}
+ [Fact]
+ public void DynamicResource_Can_Be_Assigned_To_Resource_Property()
+ {
+ var xaml = @"
+
+
+ #ff506070
+
+
+
+
+";
+
+ var loader = new AvaloniaXamlLoader();
+ var userControl = (UserControl)loader.Load(xaml);
+ var border = userControl.FindControl("border");
+
+ DelayedBinding.ApplyBindings(border);
+
+ var brush = (SolidColorBrush)border.Background;
+ Assert.Equal(0xff506070, brush.Color.ToUint32());
+ }
+
+ [Fact]
+ public void DynamicResource_Can_Be_Found_Across_Xaml_Files()
+ {
+ var style1Xaml = @"
+";
+ var style2Xaml = @"
+";
+ using (StyledWindow(
+ ("test:style1.xaml", style1Xaml),
+ ("test:style2.xaml", style2Xaml)))
+ {
+ var xaml = @"
+
+
+
+
+
+
+";
+
+ var loader = new AvaloniaXamlLoader();
+ var window = (Window)loader.Load(xaml);
+ var border = window.FindControl("border");
+ var borderBrush = (ISolidColorBrush)border.Background;
+
+ Assert.NotNull(borderBrush);
+ Assert.Equal(0xffff0000, borderBrush.Color.ToUint32());
+ }
+ }
+
private IDisposable StyledWindow(params (string, string)[] assets)
{
var services = TestServices.StyledWindow.With(
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs
index b9a847d9d1..aa3694c0e8 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/StaticResourceTests.cs
@@ -204,6 +204,47 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions
}
}
+ [Fact]
+ public void StaticResource_Can_Be_Assigned_To_Resource_Property()
+ {
+ var xaml = @"
+
+
+ #ff506070
+
+
+
+
+";
+
+ var loader = new AvaloniaXamlLoader();
+ var userControl = (UserControl)loader.Load(xaml);
+ var border = userControl.FindControl("border");
+
+ var brush = (SolidColorBrush)border.Background;
+ Assert.Equal(0xff506070, brush.Color.ToUint32());
+ }
+
+ [Fact]
+ public void StaticResource_Can_Be_Assigned_To_Resource_Property_In_Styles_File()
+ {
+ var xaml = @"
+
+
+ #ff506070
+
+
+";
+
+ var loader = new AvaloniaXamlLoader();
+ var styles = (Styles)loader.Load(xaml);
+ var brush = (SolidColorBrush)styles.Resources["brush"];
+
+ Assert.Equal(0xff506070, brush.Color.ToUint32());
+ }
+
[Fact(Skip = "Not yet supported by Portable.Xaml")]
public void StaticResource_Can_Be_Assigned_To_Property_In_ControlTemplate_In_Styles_File()
{