From bd5698f9f033e5650c1455413b444685310776de Mon Sep 17 00:00:00 2001 From: Stephane Delcroix Date: Thu, 27 Nov 2025 22:21:26 +0100 Subject: [PATCH 1/4] Add C# 14 extension property support for XAML This PR adds support for C# 14 extension properties in XAML for both setting properties and using them in binding sources. ## Changes ### Runtime Inflator (ApplyPropertiesVisitor.cs) - Added FindExtensionPropertyMethods to search loaded assemblies - Added TrySetExtensionProperty and TryGetExtensionProperty methods - Modified TrySetProperty/TryGetProperty to fallback to extension properties ### XamlC Build Tasks (SetPropertiesVisitor.cs) - Added FindExtensionPropertyMethods using Mono.Cecil - Added CanSetExtensionProperty, SetExtensionProperty methods - Added CanGetExtensionProperty, GetExtensionProperty methods - Generates IL code to call static extension property getter/setter ### SourceGen (SetPropertyHelpers.cs, NodeSGExtensions.cs) - Added FindExtensionPropertyMethods using Roslyn - Added CanConvertTo overload for ITypeSymbol - Added CanSetExtensionProperty and SetExtensionProperty methods - Note: SourceGen support needs additional integration work ## Usage Extension properties can now be set directly in XAML: ```xml