@@ -439,35 +439,74 @@ static string GetExpressionWithTrailingSpace(Accessibility accessibility)
439439 { DefaultValue : DependencyPropertyDefaultValue . Null , IsPropertyChangedCallbackImplemented : false , IsSharedPropertyChangedCallbackImplemented : false }
440440 => "null" ,
441441 { DefaultValue : DependencyPropertyDefaultValue . Callback ( string methodName ) , IsPropertyChangedCallbackImplemented : false , IsSharedPropertyChangedCallbackImplemented : false }
442- => $ "global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ))",
442+ => $ """
443+ global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(
444+ createDefaultValueCallback: new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ))
445+ """ ,
443446 { DefaultValue : { } defaultValue , IsPropertyChangedCallbackImplemented : false , IsSharedPropertyChangedCallbackImplemented : false }
444447 => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } ({ defaultValue } )",
445448
446449 // Codegen for legacy UWP
447450 { IsNet8OrGreater : false } => propertyInfo switch
448451 {
449452 { DefaultValue : DependencyPropertyDefaultValue . Callback ( string methodName ) , IsPropertyChangedCallbackImplemented : true , IsSharedPropertyChangedCallbackImplemented : false }
450- => $ "global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ), static (d, e) => (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e))",
453+ => $ """
454+ global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(
455+ createDefaultValueCallback: new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ),
456+ propertyChangedCallback: static (d, e) => (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e))
457+ """ ,
451458 { DefaultValue : DependencyPropertyDefaultValue . Callback ( string methodName ) , IsPropertyChangedCallbackImplemented : false , IsSharedPropertyChangedCallbackImplemented : true }
452- => $ "global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ), static (d, e) => (({ typeQualifiedName } )d).OnPropertyChanged(e))",
459+ => $ """
460+ global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(
461+ createDefaultValueCallback: new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ),
462+ propertyChangedCallback: static (d, e) => (({ typeQualifiedName } )d).OnPropertyChanged(e))
463+ """ ,
453464 { DefaultValue : DependencyPropertyDefaultValue . Callback ( string methodName ) , IsPropertyChangedCallbackImplemented : true , IsSharedPropertyChangedCallbackImplemented : true }
454- => $ "global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ), static (d, e) => {{ (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e); (({ typeQualifiedName } )d).OnPropertyChanged(e); }})",
465+ => $$ """
466+ global::{{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) }} .Create(
467+ createDefaultValueCallback: new {{ WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) }} ({{ methodName }} ),
468+ propertyChangedCallback: static (d, e) => { (({{ typeQualifiedName }} )d).On{{ propertyInfo . PropertyName }} PropertyChanged(e); (({{ typeQualifiedName }} )d).OnPropertyChanged(e); })
469+ """ ,
455470 { DefaultValue : { } defaultValue , IsPropertyChangedCallbackImplemented : true , IsSharedPropertyChangedCallbackImplemented : false }
456- => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } ({ defaultValue } , static (d, e) => (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e))",
471+ => $ """
472+ new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } (
473+ defaultValue: { defaultValue } ,
474+ propertyChangedCallback: static (d, e) => (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e))
475+ """ ,
457476 { DefaultValue : { } defaultValue , IsPropertyChangedCallbackImplemented : false , IsSharedPropertyChangedCallbackImplemented : true }
458- => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } ({ defaultValue } , static (d, e) => (({ typeQualifiedName } )d).OnPropertyChanged(e))",
477+ => $ """
478+ new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } (
479+ defaultValue: { defaultValue } ,
480+ propertyChangedCallback: static (d, e) => (({ typeQualifiedName } )d).OnPropertyChanged(e))
481+ """ ,
459482 { DefaultValue : { } defaultValue , IsPropertyChangedCallbackImplemented : true , IsSharedPropertyChangedCallbackImplemented : true }
460- => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } ({ defaultValue } , static (d, e) => {{ (({ typeQualifiedName } )d).On{ propertyInfo . PropertyName } PropertyChanged(e); (({ typeQualifiedName } )d).OnPropertyChanged(e); }})",
483+ => $$ """
484+ new global::{{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) }} (
485+ defaultValue: {{ defaultValue }} ,
486+ propertyChangedCallback: static (d, e) => { (({{ typeQualifiedName }} )d).On{{ propertyInfo . PropertyName }} PropertyChanged(e); (({{ typeQualifiedName }} )d).OnPropertyChanged(e); })
487+ """ ,
461488 _ => throw new ArgumentException ( $ "Invalid default value '{ propertyInfo . DefaultValue } '.") ,
462489 } ,
463490
464491 // Codegen for .NET 8 or greater
465492 { DefaultValue : DependencyPropertyDefaultValue . Null }
466- => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } (null, global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())",
493+ => $ """
494+ new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } (
495+ defaultValue: null,
496+ propertyChangedCallback: global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())
497+ """ ,
467498 { DefaultValue : DependencyPropertyDefaultValue . Callback ( string methodName ) }
468- => $ "global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ), global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())",
499+ => $ """
500+ global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } .Create(
501+ createDefaultValueCallback: new { WellKnownTypeNames . CreateDefaultValueCallback ( propertyInfo . UseWindowsUIXaml ) } ({ methodName } ),
502+ propertyChangedCallback: global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())
503+ """ ,
469504 { DefaultValue : { } defaultValue } and ( { IsPropertyChangedCallbackImplemented : true } or { IsSharedPropertyChangedCallbackImplemented : true } )
470- => $ "new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } ({ defaultValue } , global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())",
505+ => $ """
506+ new global::{ WellKnownTypeNames . PropertyMetadata ( propertyInfo . UseWindowsUIXaml ) } (
507+ defaultValue: { defaultValue } ,
508+ propertyChangedCallback: global::{ GeneratorName } .PropertyChangedCallbacks.{ propertyInfo . PropertyName } ())
509+ """ ,
471510 _ => throw new ArgumentException ( $ "Invalid default value '{ propertyInfo . DefaultValue } '.") ,
472511 } ;
473512
@@ -477,13 +516,16 @@ static string GetExpressionWithTrailingSpace(Accessibility accessibility)
477516 /// </summary>
478517 """ , isMultiline : true ) ;
479518 writer . WriteGeneratedAttributes ( GeneratorName , includeNonUserCodeAttributes : false ) ;
480- writer . WriteLine ( $$ """
519+ writer . Write ( $$ """
481520 public static readonly global::{{ WellKnownTypeNames . DependencyProperty ( propertyInfo . UseWindowsUIXaml ) }} {{ propertyInfo . PropertyName }} Property = global::{{ WellKnownTypeNames . DependencyProperty ( propertyInfo . UseWindowsUIXaml ) }} .Register(
482521 name: "{{ propertyInfo . PropertyName }} ",
483522 propertyType: typeof({{ propertyInfo . TypeName }} ),
484523 ownerType: typeof({{ typeQualifiedName }} ),
485- typeMetadata: {{ typeMetadata }} );
524+ typeMetadata:
486525 """ , isMultiline : true ) ;
526+ writer . IncreaseIndent ( ) ;
527+ writer . WriteLine ( $ "{ typeMetadata } );", isMultiline : true ) ;
528+ writer . DecreaseIndent ( ) ;
487529 writer . WriteLine ( ) ;
488530 }
489531
0 commit comments