Browse Source

Don't defer strings in resource dictionaries (#14872)

pull/14876/head
Julien Lebosquain 2 years ago
committed by GitHub
parent
commit
499e09efc9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlDeferredResourceTransformer.cs

10
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlDeferredResourceTransformer.cs

@ -43,9 +43,17 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers
private static bool ShouldBeDeferred(IXamlAstValueNode node)
{
var clrType = node.Type.GetClrType();
// XAML compiler is currently strict about value types, allowing them to be created only through converters.
// At the moment it should be safe to not defer structs.
if (node.Type.GetClrType().IsValueType)
if (clrType.IsValueType)
{
return false;
}
// Never defer strings.
if (clrType.FullName == "System.String")
{
return false;
}

Loading…
Cancel
Save