diff --git a/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs index 7ed19eb84c..955df90ddd 100644 --- a/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs +++ b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs @@ -38,6 +38,7 @@ internal class XamlXNameResolver : INameResolver, IXamlAstVisitor { if (child is XamlAstXamlPropertyValueNode propertyValueNode && propertyValueNode.Property is XamlAstNamePropertyReference namedProperty && + !IsAttachedProperty(namedProperty) && namedProperty.Name == "Name" && propertyValueNode.Values.Count > 0 && propertyValueNode.Values[0] is XamlAstTextNode text) @@ -89,4 +90,9 @@ internal class XamlXNameResolver : INameResolver, IXamlAstVisitor _ => _defaultFieldModifier }; } + + private static bool IsAttachedProperty(XamlAstNamePropertyReference namedProperty) + { + return !namedProperty.DeclaringType.Equals(namedProperty.TargetType); + } } diff --git a/tests/Avalonia.Generators.Tests/Views/NamedControl.xml b/tests/Avalonia.Generators.Tests/Views/NamedControl.xml index ba1efb247f..0a3c3d3111 100644 --- a/tests/Avalonia.Generators.Tests/Views/NamedControl.xml +++ b/tests/Avalonia.Generators.Tests/Views/NamedControl.xml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Sample.App.NamedControl"> - \ No newline at end of file + diff --git a/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml b/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml index 7eab86411c..3dc6df2c7d 100644 --- a/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml +++ b/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Sample.App.xNamedControl"> - \ No newline at end of file +