From 8a0010ba95bf1b321a10975f428a02aba3f5e828 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 30 May 2022 15:15:16 +0200 Subject: [PATCH] Disallow attached property resolution from base types. Markup such as `` was resolving the `TextBlock.Text` attached property to `TemplatedControl.Text` but according to tests against WPF this shouldn't be allowed. Fixed by not searching base classes when resolving attached properties. --- .../AvaloniaXamlIlTransformInstanceAttachedProperties.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlTransformInstanceAttachedProperties.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlTransformInstanceAttachedProperties.cs index f87e73a783..9c4fa40693 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlTransformInstanceAttachedProperties.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlTransformInstanceAttachedProperties.cs @@ -25,7 +25,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers && !declaringRef.Type.IsAssignableFrom(targetRef.Type)) { // Instance property - var clrProp = declaringRef.Type.GetAllProperties().FirstOrDefault(p => p.Name == prop.Name); + var clrProp = declaringRef.Type.Properties.FirstOrDefault(p => p.Name == prop.Name); if (clrProp != null && (clrProp.Getter?.IsStatic == false || clrProp.Setter?.IsStatic == false)) {