Declarative DependencyProperety registration
Few notes :


// Return the default value for the type.
if (property.PropertyType.IsValueType)
{
    return Activator.CreateInstance(property.PropertyType);
}
return null;



You can use ternary operator here

// Return the default value for the type.
return property.PropertyType.IsValueType
    ? Activator.CreateInstance(property.PropertyType)
    : null;


Those })() at the end of your functors are a little bit confusing in my opinion it will be a clearer if you call .Invoke() explicitly }).Invoke()


var validations = property.GetCustomAttributes(
typeof(ValidationAttribute))?.Cast&lt;ValidationAttribute&gt;()
?? Enumerable.Empty&lt;ValidationAttribute&gt;();



You should be able to specify the type argument explicitly to avoid the .Cast&lt;T&gt;

var customValidationAttributes = property.GetCustomAttributes&lt;ValidationAttribute&gt;();
var validations = customValidationAttributes ?? Enumerable.Empty&lt;ValidationAttribute&gt;();