diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs
index ce8937027e..93a4b3146c 100644
--- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs
+++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs
@@ -172,6 +172,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions
if (type.Equals(types.Color))
{
+ text = text.Trim();
if (!Color.TryParse(text, out Color color))
{
return ReturnOnParseError($"Unable to parse \"{text}\" as a color", out result);
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/AvaloniaIntrinsicsTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/AvaloniaIntrinsicsTests.cs
index d873c7f9ff..592dd42698 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/AvaloniaIntrinsicsTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/AvaloniaIntrinsicsTests.cs
@@ -108,6 +108,24 @@ public class AvaloniaIntrinsicsTests : XamlTestBase
Assert.Contains(contains, runtimeXamlDiagnostic.Title, StringComparison.OrdinalIgnoreCase);
}
}
+
+ ///
+ /// GitHub Issue #15320
+ ///
+ [Fact]
+ public void Should_Parse_Formatted_Color_Tag()
+ {
+ var target = AvaloniaRuntimeXamlLoader
+ .Parse($"""
+
+
+ White
+
+
+ """);
+ Assert.NotNull(target);
+ }
}
public class TestIntrinsicsControl : Control