Merge pull request #112 from asklar/attachedProperties

Codegen Attached properties
This commit is contained in:
Alexander Sklar 2021-07-18 22:29:29 -07:00 коммит произвёл GitHub
Родитель d729f80a77 9d80d66a71
Коммит ea1fa6f772
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
14 изменённых файлов: 592 добавлений и 108 удалений

Просмотреть файл

@ -42,13 +42,13 @@ namespace Codegen
public partial class TypeProperties
{
public TypeProperties(IEnumerable<MrProperty> properties, IEnumerable<MrProperty> fakeProps, IEnumerable<SyntheticProperty> syntheticProps)
public TypeProperties(IEnumerable<SyntheticProperty> properties, IEnumerable<MrProperty> fakeProps, IEnumerable<SyntheticProperty> syntheticProps)
{
Properties = properties;
FakeProps = fakeProps;
SyntheticProps = syntheticProps;
}
IEnumerable<MrProperty> Properties { get; set; }
IEnumerable<SyntheticProperty> Properties { get; set; }
IEnumerable<MrProperty> FakeProps { get; set; }
IEnumerable<SyntheticProperty> SyntheticProps { get; set; }
}
@ -66,13 +66,15 @@ namespace Codegen
public partial class TSProps
{
public TSProps(IEnumerable<MrType> types, IEnumerable<MrProperty> fakeProps, IEnumerable<SyntheticProperty> syntheticProps, IEnumerable<SyntheticProperty> syntheticEvents)
public TSProps(IEnumerable<MrType> types, IEnumerable<SyntheticProperty> properties, IEnumerable<MrProperty> fakeProps, IEnumerable<SyntheticProperty> syntheticProps, IEnumerable<SyntheticProperty> syntheticEvents)
{
Types = types;
FakeProps = fakeProps;
SyntheticProps = syntheticProps;
SyntheticEvents = syntheticEvents;
Properties = properties;
}
IEnumerable<SyntheticProperty> Properties { get; set; }
IEnumerable<MrProperty> FakeProps { get; set; }
IEnumerable<SyntheticProperty> SyntheticProps { get; set; }
IEnumerable<SyntheticProperty> SyntheticEvents { get; set; }
@ -85,7 +87,7 @@ namespace Codegen
IEnumerable<MrType> Types { get; set; }
}
public class NameEqualityComparer : IEqualityComparer<MrTypeAndMemberBase>
public class NameEqualityComparer : IEqualityComparer<MrTypeAndMemberBase>, IEqualityComparer<SyntheticProperty>
{
public bool Equals(MrTypeAndMemberBase that, MrTypeAndMemberBase other)
{
@ -108,10 +110,20 @@ namespace Codegen
return that.GetName() == other.GetName();
}
public bool Equals(SyntheticProperty x, SyntheticProperty y)
{
return x.SimpleName == y.SimpleName;
}
public int GetHashCode([DisallowNull] MrTypeAndMemberBase obj)
{
return obj.GetName().GetHashCode();
}
public int GetHashCode([DisallowNull] SyntheticProperty obj)
{
return obj.SimpleName.GetHashCode();
}
}
public class TypeMapping

Просмотреть файл

@ -59,6 +59,9 @@ namespace Codegen
}
Util.LoadContext = context;
var fakeProps = new List<MrProperty>();
foreach (var entry in Config.RootElement.GetProperty("propNameMapping").EnumerateObject())
@ -78,15 +81,110 @@ namespace Codegen
foreach (var entry in Config.RootElement.GetProperty("syntheticProps").EnumerateArray())
{
var sp = new SyntheticProperty
var declaringTypes = entry.GetProperty("declaringType");
string name = entry.GetProperty("name").GetString();
MrType propertyType = entry.TryGetProperty("propertyType", out var propTypeJson) ? context.GetType(GetTypeNameFromJson(propTypeJson)) : null;
if (name.IndexOf('.') != -1)
{
Name = entry.GetProperty("name").GetString(),
DeclaringType = context.GetType(GetTypeNameFromJson(entry.GetProperty("declaringType"))),
PropertyType = entry.TryGetProperty("propertyType", out var propType) ? context.GetType(propType.GetString()) : null,
FakePropertyType = entry.TryGetProperty("fakePropertyType", out var fakePropType) ? fakePropType.GetString() : null,
Comment = entry.GetProperty("comment").GetString()
};
syntheticProps.Add(sp);
var propTypeName = name.Substring(0, name.LastIndexOf('.'));
var propName = name.Substring(name.LastIndexOf('.') + 1);
var propType = context.GetType(propTypeName);
var prop = propType.GetProperties().First(p => p.GetName() == propName);
if (prop.GetPropertyType() != propertyType)
{
throw new ArgumentException($"The property type for {name} was expected to be {prop.GetPropertyType()}, but was specified as {propertyType}");
}
}
string fakePropertyType = entry.TryGetProperty("fakePropertyType", out var fakePropType) ? fakePropType.GetString() : null;
string comment = entry.TryGetProperty("comment", out var commentElement) ? commentElement.GetString() : "";
if (declaringTypes.ValueKind == JsonValueKind.Array)
{
foreach (var declaringType in declaringTypes.EnumerateArray())
{
var sp = new SyntheticProperty
{
Name = name,
DeclaringType = context.GetType(GetTypeNameFromJson(declaringType)),
PropertyType = propertyType,
FakePropertyType = fakePropertyType,
Comment = comment,
};
syntheticProps.Add(sp);
}
}
else
{
var sp = new SyntheticProperty
{
Name = name,
DeclaringType = context.GetType(GetTypeNameFromJson(declaringTypes)),
PropertyType = propertyType,
FakePropertyType = fakePropertyType,
Comment = comment,
};
syntheticProps.Add(sp);
}
}
Console.WriteLine("Generating projections for the following WinMD files:");
Console.WriteLine($"- {Windows_winmd}");
foreach (var path in winmdPaths)
{
Console.WriteLine($"- {Path.GetFullPath(path)}");
}
Console.WriteLine();
var properties = new List<SyntheticProperty>();
PrintVerbose("Enumerating attached properties");
DiscoverAttachedProperties(context, types);
PrintVerbose($"Parsing configuration from {ConfigFileName}");
foreach (var entry in Config.RootElement.GetProperty("attachedProps").EnumerateObject()) {
var propName = GetTypeNameFromJsonProperty(entry);
var attachedDPs = Util.AttachedProperties.Where(p => Util.MinusPropertySuffix(Util.GetPropFullName(p)).StartsWith(propName));
foreach (var attachedDP in attachedDPs)
{
var type = attachedDP.DeclaringType;
var simpleName = attachedDP.GetName().Substring(0, attachedDP.GetName().LastIndexOf("Property"));
type.GetMethodsAndConstructors(out var methods, out var ctors);
var propType = methods.First(m => m.GetName() == $"Get{simpleName}").ReturnType;
if (entry.Value.ValueKind == JsonValueKind.Array)
{
foreach (var onTypeEntry in entry.Value.EnumerateArray())
{
var sp = new SyntheticProperty
{
Name = simpleName,
DeclaringType = context.GetType(GetTypeNameFromJson(onTypeEntry)),
PropertyType = propType,
Property = attachedDP,
Comment = $"Attached property: ${propName}",
};
properties.Add(sp);
}
}
else
{
var onType = GetTypeNameFromJson(entry.Value);
var sp = new SyntheticProperty
{
Name = simpleName,
DeclaringType = context.GetType(onType),
PropertyType = propType,
Property = attachedDP,
Comment = $"Attached property: {propName}",
};
properties.Add(sp);
}
}
}
foreach (var entry in Config.RootElement.GetProperty("typeMapping").EnumerateArray())
@ -128,13 +226,6 @@ namespace Codegen
var generatedDirPath = Path.GetFullPath(cppOutPath ?? Path.Join(PackageRoot, @"windows\ReactNativeXaml\Codegen"));
var packageSrcPath = Path.GetFullPath(tsOutPath ?? Path.Join(PackageRoot, @"src"));
Console.WriteLine("Generating projections for the following WinMD files:");
Console.WriteLine($"- {Windows_winmd}");
foreach (var path in winmdPaths)
{
Console.WriteLine($"- {Path.GetFullPath(path)}");
}
Console.WriteLine();
PrintVerbose("Filtering types");
var creatableTypes = xamlTypes.Where(x => Util.HasCtor(x)).ToList();
@ -188,7 +279,6 @@ namespace Codegen
var properties = new List<MrProperty>();
var events = new List<MrEvent>();
var eventArgTypes = new HashSet<MrType>(new NameEqualityComparer());
@ -198,7 +288,15 @@ namespace Codegen
{
var props = type.GetProperties();
var propsToAdd = props.Where(p => Util.ShouldEmitPropertyMetadata(p));
properties.AddRange(propsToAdd);
foreach (var p in propsToAdd)
{
properties.Add(new SyntheticProperty()
{
Name = Util.GetPropFullName(p),
DeclaringType = p.DeclaringType,
Property = p,
});
}
var eventsToAdd = type.GetEvents().Where(e => Util.ShouldEmitEventMetadata(e));
foreach (var e in eventsToAdd)
@ -281,7 +379,7 @@ namespace Codegen
Util.fakeEnums.Add(fe);
}
var propsGen = new TSProps(xamlTypes, fakeProps, syntheticProps, syntheticEvents).TransformText();
var propsGen = new TSProps(xamlTypes, properties, fakeProps, syntheticProps, syntheticEvents).TransformText();
var typesGen = new TSTypes(xamlTypes).TransformText();
var typeCreatorGen = new TypeCreator(creatableTypes).TransformText();
var propertiesGen = new TypeProperties(properties, fakeProps, syntheticProps).TransformText();
@ -308,6 +406,32 @@ namespace Codegen
PrintVerbose($"Done in {(DateTime.Now - start).TotalSeconds} s");
}
private void DiscoverAttachedProperties(MrLoadContext context, IEnumerable<MrType> types)
{
var attached = new List<MrProperty>();
var dpType = context.GetType($"{XamlNames.XamlNamespace}.DependencyProperty");
foreach (var type in types)
{
attached.AddRange(GetAttachedDPCandidates(dpType, type));
}
Util.AttachedProperties = attached;
}
private static IEnumerable<MrProperty> GetAttachedDPCandidates(MrType dpType, MrType type)
{
type.GetMethodsAndConstructors(out var methods, out var ctors);
return type.GetProperties().Where(prop =>
{
if (prop.GetName().EndsWith("Property") && prop.GetPropertyType() == dpType)
{
var propName = prop.GetName().Substring(0, prop.GetName().LastIndexOf("Property"));
return methods.Any(x => x.GetName() == $"Set{propName}" && x.GetParsedMethodAttributes().IsStatic);
}
return false;
});
}
private static string GetTypeNameFromJsonProperty(JsonProperty entry)
{
return entry.Name.Replace("$xaml", XamlNames.XamlNamespace);
@ -358,6 +482,15 @@ namespace Codegen
/// <param name="p2"></param>
/// <returns></returns>
private static int CompareProps(SyntheticProperty p1, SyntheticProperty p2)
{
var c = p1.SimpleNameForJs.CompareTo(p2.SimpleNameForJs);
if (c != 0) return c;
var inheritanceDepthComp = Util.GetTypeInheritanceDepth(p1.DeclaringType).CompareTo(Util.GetTypeInheritanceDepth(p2.DeclaringType));
if (inheritanceDepthComp != 0) return inheritanceDepthComp;
return p1.DeclaringType.GetName().CompareTo(p2.DeclaringType.GetName());
}
private static int CompareProps(MrProperty p1, MrProperty p2)
{
#if DEBUG

Просмотреть файл

@ -1,14 +1,37 @@
using MiddleweightReflection;
using System;
namespace Codegen
{
public class SyntheticProperty
public class SyntheticProperty : IEquatable<SyntheticProperty>
{
public string Name { get; set; }
public MrType DeclaringType { get; set; }
public MrProperty Property { get; set; }
public MrType PropertyType { get; set; }
public string FakePropertyType { get; set; }
public string Comment { get; set; }
public string SimpleName { get => Name.Substring(Name.LastIndexOf('.') + 1); }
public string SimpleNameForJs
{
get
{
if (Property != null && Util.IsDependencyProperty(Property))
{
return Property.DeclaringType.GetName() + SimpleName;
}
else
{
return SimpleName;
}
}
}
public bool Equals(SyntheticProperty other)
{
return SimpleName == other.SimpleName;
}
}
}

Просмотреть файл

@ -151,20 +151,42 @@ foreach (var prop in SyntheticProps.Where(p => type == p.DeclaringType)) {
#line 34 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
foreach (var attachedDP in Util.AttachedProperties.Where(p => Properties.Any(sp => sp.Property == p && sp.DeclaringType == type))) {
#line default
#line hidden
this.Write(" ");
#line 36 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.ToJsName(attachedDP)));
#line default
#line hidden
this.Write("?: ");
#line 36 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.GetTypeScriptType(attachedDP)));
#line default
#line hidden
this.Write("; // attached property\r\n");
#line 37 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
foreach (var evt in type.GetEvents()) {
#line default
#line hidden
this.Write(" on");
#line 36 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 39 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(evt.GetName()));
#line default
#line hidden
this.Write("?: (event: NativeSyntheticEvent<undefined>) => void;\r\n");
#line 37 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 40 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
foreach (var evt in SyntheticEvents.Where(e => type == e.DeclaringType)) {
@ -172,35 +194,35 @@ foreach (var prop in SyntheticProps.Where(p => type == p.DeclaringType)) {
#line hidden
this.Write(" on");
#line 39 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 42 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(evt.Name));
#line default
#line hidden
this.Write("?: (event: NativeSyntheticEvent<");
#line 39 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 42 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.GetTypeScriptType(evt)));
#line default
#line hidden
this.Write(">) => void;\r\n");
#line 40 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 43 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
#line default
#line hidden
this.Write("}\r\n\r\n");
#line 43 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 46 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
#line default
#line hidden
this.Write("\r\nexport type XamlControlProps =");
#line 45 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 48 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
var first = true; foreach (var type in Types) {
if (Util.HasCtor(type) || !type.IsSealed) {
if (!first)
@ -209,7 +231,7 @@ foreach (var prop in SyntheticProps.Where(p => type == p.DeclaringType)) {
#line hidden
this.Write(" | ");
#line 47 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 50 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
;
first = false;
@ -219,14 +241,14 @@ foreach (var prop in SyntheticProps.Where(p => type == p.DeclaringType)) {
#line hidden
this.Write(" Native");
#line 50 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 53 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(type.GetName()));
#line default
#line hidden
this.Write("Props \r\n\t");
#line 51 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
#line 54 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TSProps.tt"
}
}

Просмотреть файл

@ -32,6 +32,9 @@ foreach (var prop in SyntheticProps.Where(p => type == p.DeclaringType)) { #>
*/
<#= Util.ToJsName(prop.Name) #>?: <#= Util.GetTypeScriptType(prop) #>; // synthetic property
<# }
foreach (var attachedDP in Util.AttachedProperties.Where(p => Properties.Any(sp => sp.Property == p && sp.DeclaringType == type))) {#>
<#= Util.ToJsName(attachedDP) #>?: <#= Util.GetTypeScriptType(attachedDP) #>; // attached property
<# }
foreach (var evt in type.GetEvents()) { #>
on<#= evt.GetName() #>?: (event: NativeSyntheticEvent<undefined>) => void;
<# }

Просмотреть файл

@ -87,7 +87,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
this.Write("\"), ");
#line 31 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TypeProperties.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.DerivesFrom(p.DeclaringType, $"{XamlNames.XamlNamespace}.FrameworkElement") ? "AsType" : "AsUnwrappedType"));
this.Write(this.ToStringHelper.ToStringWithCulture((Util.DerivesFrom(p.DeclaringType, $"{XamlNames.XamlNamespace}.FrameworkElement") || p.DeclaringType.GetName() == "UIElement") ? "AsType" : "AsUnwrappedType"));
#line default
#line hidden
@ -101,21 +101,21 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
this.Write(">, []() { return ");
#line 31 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TypeProperties.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.GetCppWinRTType(p.DeclaringType)));
this.Write(this.ToStringHelper.ToStringWithCulture(Util.GetCppWinRTType(p.Property != null ? p.Property.DeclaringType : p.DeclaringType)));
#line default
#line hidden
this.Write("::");
#line 31 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TypeProperties.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(p.GetName()));
this.Write(this.ToStringHelper.ToStringWithCulture(p.SimpleName));
#line default
#line hidden
this.Write("Property(); }, SetPropValue<");
#line 31 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TypeProperties.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Util.GetCppWinRTType(p.GetPropertyType())));
this.Write(this.ToStringHelper.ToStringWithCulture(p.PropertyType != null ? Util.GetCppWinRTType(p.PropertyType) : Util.GetCppWinRTType(p.Property.GetPropertyType())));
#line default
#line hidden
@ -295,7 +295,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
"ops) const {\r\n");
#line 55 "C:\Users\asklar\source\repos\react-native-xaml\package\Codegen\TypeProperties.tt"
foreach (MiddleweightReflection.MrProperty p in Properties.Distinct(new Codegen.NameEqualityComparer())) {
foreach (var p in Properties.Distinct(new NameEqualityComparer())) {
#line default
#line hidden

Просмотреть файл

@ -28,7 +28,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
/*static*/ const PropInfo xamlPropertyMap[] = {
<# foreach (var p in Properties) { #>
{ MAKE_KEY("<#= Util.ToJsName(p) #>"), <#= Util.DerivesFrom(p.DeclaringType, $"{XamlNames.XamlNamespace}.FrameworkElement") ? "AsType" : "AsUnwrappedType" #><<#= Util.GetCppWinRTType(p.DeclaringType) #>>, []() { return <#= Util.GetCppWinRTType(p.DeclaringType) #>::<#= p.GetName() #>Property(); }, SetPropValue<<#= Util.GetCppWinRTType(p.GetPropertyType()) #>>, ViewManagerPropertyType::<#= Util.GetVMPropertyType(p) #> },
{ MAKE_KEY("<#= Util.ToJsName(p) #>"), <#= (Util.DerivesFrom(p.DeclaringType, $"{XamlNames.XamlNamespace}.FrameworkElement") || p.DeclaringType.GetName() == "UIElement") ? "AsType" : "AsUnwrappedType" #><<#= Util.GetCppWinRTType(p.DeclaringType) #>>, []() { return <#= Util.GetCppWinRTType(p.Property != null ? p.Property.DeclaringType : p.DeclaringType) #>::<#= p.SimpleName #>Property(); }, SetPropValue<<#= p.PropertyType != null ? Util.GetCppWinRTType(p.PropertyType) : Util.GetCppWinRTType(p.Property.GetPropertyType()) #>>, ViewManagerPropertyType::<#= Util.GetVMPropertyType(p) #> },
<# } #>
};
@ -52,7 +52,7 @@ void Set<#= p.Name #>_<#= p.DeclaringType.GetName() #>(const xaml::DependencyObj
#ifdef USE_CRC32
void XamlMetadata::PopulateNativeProps(winrt::Windows::Foundation::Collections::IMap<winrt::hstring, ViewManagerPropertyType>& nativeProps) const {
<# foreach (MiddleweightReflection.MrProperty p in Properties.Distinct(new Codegen.NameEqualityComparer())) { #>
<# foreach (var p in Properties.Distinct(new NameEqualityComparer())) { #>
nativeProps.Insert(winrt::to_hstring("<#= Util.ToJsName(p) #>"), ViewManagerPropertyType::<#= Util.GetVMPropertyType(p) #>);
<# } #>
}

Просмотреть файл

@ -10,13 +10,37 @@ namespace Codegen
{
internal static Dictionary<string, string> propNameMap = new Dictionary<string, string>();
public static string GetPropFullName(MrProperty p)
{
return $"{p.DeclaringType.GetFullName()}.{p.GetName()}";
}
public static string ToJsName(MrProperty prop)
{
var fullName = $"{prop.DeclaringType.GetFullName()}.{prop.GetName()}";
if (IsDependencyProperty(prop))
{
return ToJsName($"{prop.DeclaringType.GetName()}{Util.MinusPropertySuffix(prop.GetName())}");
}
var fullName = GetPropFullName(prop);
if (propNameMap.ContainsKey(fullName)) { return propNameMap[fullName]; }
return ToJsName(prop.GetName());
}
public static bool IsDependencyProperty(MrProperty prop)
{
return prop.GetName().EndsWith("Property") && prop.GetPropertyType().GetName() == "DependencyProperty";
}
public static string ToJsName(SyntheticProperty prop)
{
if (propNameMap.TryGetValue(prop.Name, out var name)) return name;
if (prop.Property != null && IsDependencyProperty(prop.Property))
{
return ToJsName($"{prop.Property.DeclaringType.GetName()}{prop.SimpleName}");
}
return ToJsName(prop.SimpleNameForJs);
}
public static string ToJsName(string name)
{
var specialPrefixes = new string[] { "UI", "XY" };
@ -82,6 +106,13 @@ namespace Codegen
}
return d;
}
public static string MinusPropertySuffix(string v)
{
return v.Substring(0, v.LastIndexOf("Property"));
}
public static string GetCppWinRTType(MrType t)
{
var primitiveTypes = new Dictionary<string, string>()
@ -118,7 +149,8 @@ namespace Codegen
public static ViewManagerPropertyType GetVMPropertyType(SyntheticProperty prop)
{
if (prop.PropertyType != null) return GetVMPropertyType(prop.PropertyType);
if (prop.Property != null) return GetVMPropertyType(prop.Property);
var fe = fakeEnums.Where(x => x.Name == prop.FakePropertyType);
if (fe.Any())
{
@ -141,6 +173,7 @@ namespace Codegen
public static Dictionary<string, TypeMapping> TypeMapping { get; set; } = new Dictionary<string, TypeMapping>();
public static List<MrProperty> AttachedProperties { get; internal set; }
private static ViewManagerPropertyType GetVMPropertyType(MrType propType)
{
@ -206,6 +239,12 @@ namespace Codegen
public static string GetTypeScriptType(MrProperty prop)
{
if (IsDependencyProperty(prop))
{
var getterName = $"Get{MinusPropertySuffix(prop.GetName())}";
prop.DeclaringType.GetMethodsAndConstructors(out var methods, out var ctors);
return GetTypeScriptType(methods.First(m => m.GetName() == getterName).ReturnType);
}
var tsTypeFromPropType = GetTypeScriptType(prop.GetPropertyType());
if (tsTypeFromPropType == "object" && IsPropertyContentProperty(prop))

Просмотреть файл

@ -9,19 +9,11 @@
"$xaml.Controls.Primitives.FlyoutBase.IsOpen",
"$xaml.Documents.Run.Text"
],
"attachedProps": {
"$xaml.Controls.Grid": "$xaml.UIElement",
"$xaml.Documents.Typography": [ "$xaml.Controls.TextBlock", "$xaml.Controls.RichTextBlock" ],
},
"syntheticProps": [
{
"name": "GridRow",
"declaringType": "$xaml.UIElement",
"propertyType": "System.Int32",
"comment": "The row number of this component inside an enclosing Grid."
},
{
"name": "GridColumn",
"declaringType": "$xaml.UIElement",
"propertyType": "System.Int32",
"comment": "The column number of this component inside an enclosing Grid."
},
{
"name": "GridLayout",
"declaringType": "$xaml.Controls.Grid",

Просмотреть файл

@ -1,7 +1,7 @@
{
"name": "react-native-xaml",
"title": "React Native Xaml",
"version": "0.0.33",
"version": "0.0.34",
"description": "Allows using XAML directly, inside of a React Native Windows app",
"main": "lib/index.js",
"typings": "lib/index.d.ts",

Просмотреть файл

@ -1073,6 +1073,65 @@ export enum FillRule {
Nonzero = 1,
}
export enum FontCapitals {
Normal = 0,
AllSmallCaps = 1,
SmallCaps = 2,
AllPetiteCaps = 3,
PetiteCaps = 4,
Unicase = 5,
Titling = 6,
}
export enum FontEastAsianLanguage {
Normal = 0,
HojoKanji = 1,
Jis04 = 2,
Jis78 = 3,
Jis83 = 4,
Jis90 = 5,
NlcKanji = 6,
Simplified = 7,
Traditional = 8,
TraditionalNames = 9,
}
export enum FontEastAsianWidths {
Normal = 0,
Full = 1,
Half = 2,
Proportional = 3,
Quarter = 4,
Third = 5,
}
export enum FontFraction {
Normal = 0,
Stacked = 1,
Slashed = 2,
}
export enum FontNumeralAlignment {
Normal = 0,
Proportional = 1,
Tabular = 2,
}
export enum FontNumeralStyle {
Normal = 0,
Lining = 1,
OldStyle = 2,
}
export enum FontVariants {
Normal = 0,
Superscript = 1,
Subscript = 2,
Ordinal = 3,
Inferior = 4,
Ruby = 5,
}
export enum AppBarButtonPriority {
Primary = 0,

Просмотреть файл

@ -43,14 +43,6 @@ export interface NativeUIElementProps extends NativeDependencyObjectProps {
keyboardAcceleratorPlacementMode?: Enums.KeyboardAcceleratorPlacementMode;
canBeScrollAnchor?: boolean;
/**
* The row number of this component inside an enclosing Grid.
*/
gridRow?: number; // synthetic property
/**
* The column number of this component inside an enclosing Grid.
*/
gridColumn?: number; // synthetic property
/**
* A hint of where this item should be placed within its parent.
*/
priority?: number; // synthetic property
@ -58,6 +50,10 @@ export interface NativeUIElementProps extends NativeDependencyObjectProps {
* An object of key/value pairs used for lightweight styling.
*/
resources?: object; // synthetic property
gridColumn?: number; // attached property
gridColumnSpan?: number; // attached property
gridRow?: number; // attached property
gridRowSpan?: number; // attached property
onDoubleTapped?: (event: NativeSyntheticEvent<undefined>) => void;
onDragEnter?: (event: NativeSyntheticEvent<undefined>) => void;
onDragLeave?: (event: NativeSyntheticEvent<undefined>) => void;
@ -1651,6 +1647,49 @@ export interface NativeRichTextBlockProps extends NativeFrameworkElementProps {
isTextScaleFactorEnabled?: boolean;
textDecorations?: Enums.TextDecorations;
horizontalTextAlignment?: Enums.TextAlignment;
typographyAnnotationAlternates?: number; // attached property
typographyCapitalSpacing?: boolean; // attached property
typographyCapitals?: Enums.FontCapitals; // attached property
typographyCaseSensitiveForms?: boolean; // attached property
typographyContextualAlternates?: boolean; // attached property
typographyContextualLigatures?: boolean; // attached property
typographyContextualSwashes?: number; // attached property
typographyDiscretionaryLigatures?: boolean; // attached property
typographyEastAsianExpertForms?: boolean; // attached property
typographyEastAsianLanguage?: Enums.FontEastAsianLanguage; // attached property
typographyEastAsianWidths?: Enums.FontEastAsianWidths; // attached property
typographyFraction?: Enums.FontFraction; // attached property
typographyHistoricalForms?: boolean; // attached property
typographyHistoricalLigatures?: boolean; // attached property
typographyKerning?: boolean; // attached property
typographyMathematicalGreek?: boolean; // attached property
typographyNumeralAlignment?: Enums.FontNumeralAlignment; // attached property
typographyNumeralStyle?: Enums.FontNumeralStyle; // attached property
typographySlashedZero?: boolean; // attached property
typographyStandardLigatures?: boolean; // attached property
typographyStandardSwashes?: number; // attached property
typographyStylisticAlternates?: number; // attached property
typographyStylisticSet10?: boolean; // attached property
typographyStylisticSet11?: boolean; // attached property
typographyStylisticSet12?: boolean; // attached property
typographyStylisticSet13?: boolean; // attached property
typographyStylisticSet14?: boolean; // attached property
typographyStylisticSet15?: boolean; // attached property
typographyStylisticSet16?: boolean; // attached property
typographyStylisticSet17?: boolean; // attached property
typographyStylisticSet18?: boolean; // attached property
typographyStylisticSet19?: boolean; // attached property
typographyStylisticSet1?: boolean; // attached property
typographyStylisticSet20?: boolean; // attached property
typographyStylisticSet2?: boolean; // attached property
typographyStylisticSet3?: boolean; // attached property
typographyStylisticSet4?: boolean; // attached property
typographyStylisticSet5?: boolean; // attached property
typographyStylisticSet6?: boolean; // attached property
typographyStylisticSet7?: boolean; // attached property
typographyStylisticSet8?: boolean; // attached property
typographyStylisticSet9?: boolean; // attached property
typographyVariants?: Enums.FontVariants; // attached property
onContextMenuOpening?: (event: NativeSyntheticEvent<undefined>) => void;
onSelectionChanged?: (event: NativeSyntheticEvent<undefined>) => void;
onIsTextTrimmedChanged?: (event: NativeSyntheticEvent<undefined>) => void;
@ -1829,6 +1868,49 @@ export interface NativeTextBlockProps extends NativeFrameworkElementProps {
isTextScaleFactorEnabled?: boolean;
textDecorations?: Enums.TextDecorations;
horizontalTextAlignment?: Enums.TextAlignment;
typographyAnnotationAlternates?: number; // attached property
typographyCapitalSpacing?: boolean; // attached property
typographyCapitals?: Enums.FontCapitals; // attached property
typographyCaseSensitiveForms?: boolean; // attached property
typographyContextualAlternates?: boolean; // attached property
typographyContextualLigatures?: boolean; // attached property
typographyContextualSwashes?: number; // attached property
typographyDiscretionaryLigatures?: boolean; // attached property
typographyEastAsianExpertForms?: boolean; // attached property
typographyEastAsianLanguage?: Enums.FontEastAsianLanguage; // attached property
typographyEastAsianWidths?: Enums.FontEastAsianWidths; // attached property
typographyFraction?: Enums.FontFraction; // attached property
typographyHistoricalForms?: boolean; // attached property
typographyHistoricalLigatures?: boolean; // attached property
typographyKerning?: boolean; // attached property
typographyMathematicalGreek?: boolean; // attached property
typographyNumeralAlignment?: Enums.FontNumeralAlignment; // attached property
typographyNumeralStyle?: Enums.FontNumeralStyle; // attached property
typographySlashedZero?: boolean; // attached property
typographyStandardLigatures?: boolean; // attached property
typographyStandardSwashes?: number; // attached property
typographyStylisticAlternates?: number; // attached property
typographyStylisticSet10?: boolean; // attached property
typographyStylisticSet11?: boolean; // attached property
typographyStylisticSet12?: boolean; // attached property
typographyStylisticSet13?: boolean; // attached property
typographyStylisticSet14?: boolean; // attached property
typographyStylisticSet15?: boolean; // attached property
typographyStylisticSet16?: boolean; // attached property
typographyStylisticSet17?: boolean; // attached property
typographyStylisticSet18?: boolean; // attached property
typographyStylisticSet19?: boolean; // attached property
typographyStylisticSet1?: boolean; // attached property
typographyStylisticSet20?: boolean; // attached property
typographyStylisticSet2?: boolean; // attached property
typographyStylisticSet3?: boolean; // attached property
typographyStylisticSet4?: boolean; // attached property
typographyStylisticSet5?: boolean; // attached property
typographyStylisticSet6?: boolean; // attached property
typographyStylisticSet7?: boolean; // attached property
typographyStylisticSet8?: boolean; // attached property
typographyStylisticSet9?: boolean; // attached property
typographyVariants?: Enums.FontVariants; // attached property
onContextMenuOpening?: (event: NativeSyntheticEvent<undefined>) => void;
onSelectionChanged?: (event: NativeSyntheticEvent<undefined>) => void;
onIsTextTrimmedChanged?: (event: NativeSyntheticEvent<undefined>) => void;

Просмотреть файл

@ -29,8 +29,8 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("acceptsReturn"), AsType<winrt::Windows::UI::Xaml::Controls::RichEditBox>, []() { return winrt::Windows::UI::Xaml::Controls::RichEditBox::AcceptsReturnProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("acceptsReturn"), AsType<winrt::Windows::UI::Xaml::Controls::TextBox>, []() { return winrt::Windows::UI::Xaml::Controls::TextBox::AcceptsReturnProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("accessKey"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::AccessKeyProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("accessKey"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::AccessKeyProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("allowDrop"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::AllowDropProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("accessKey"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::AccessKeyProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("allowDrop"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::AllowDropProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("allowFocusOnInteraction"), AsUnwrappedType<winrt::Windows::UI::Xaml::Controls::Primitives::FlyoutBase>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::FlyoutBase::AllowFocusOnInteractionProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("allowFocusOnInteraction"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::AllowFocusOnInteractionProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("allowFocusOnInteraction"), AsType<winrt::Windows::UI::Xaml::FrameworkElement>, []() { return winrt::Windows::UI::Xaml::FrameworkElement::AllowFocusOnInteractionProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -96,11 +96,11 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("calendarItemForeground"), AsType<winrt::Windows::UI::Xaml::Controls::CalendarView>, []() { return winrt::Windows::UI::Xaml::Controls::CalendarView::CalendarItemForegroundProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Media::Brush>, ViewManagerPropertyType::Color },
{ MAKE_KEY("calendarViewDayItemStyle"), AsType<winrt::Windows::UI::Xaml::Controls::CalendarView>, []() { return winrt::Windows::UI::Xaml::Controls::CalendarView::CalendarViewDayItemStyleProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Style>, ViewManagerPropertyType::String },
{ MAKE_KEY("calendarViewStyle"), AsType<winrt::Windows::UI::Xaml::Controls::CalendarDatePicker>, []() { return winrt::Windows::UI::Xaml::Controls::CalendarDatePicker::CalendarViewStyleProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Style>, ViewManagerPropertyType::String },
{ MAKE_KEY("canBeScrollAnchor"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CanBeScrollAnchorProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canBeScrollAnchor"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CanBeScrollAnchorProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canChangeViews"), AsType<winrt::Windows::UI::Xaml::Controls::SemanticZoom>, []() { return winrt::Windows::UI::Xaml::Controls::SemanticZoom::CanChangeViewsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canContentRenderOutsideBounds"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollContentPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollContentPresenter::CanContentRenderOutsideBoundsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canContentRenderOutsideBounds"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::CanContentRenderOutsideBoundsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canDrag"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CanDragProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canDrag"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CanDragProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canDragItems"), AsType<winrt::Windows::UI::Xaml::Controls::TreeView>, []() { return winrt::Windows::UI::Xaml::Controls::TreeView::CanDragItemsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canDragItems"), AsType<winrt::Windows::UI::Xaml::Controls::ListViewBase>, []() { return winrt::Windows::UI::Xaml::Controls::ListViewBase::CanDragItemsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("canReorderItems"), AsType<winrt::Windows::UI::Xaml::Controls::TreeView>, []() { return winrt::Windows::UI::Xaml::Controls::TreeView::CanReorderItemsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -145,7 +145,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("compactPaneLength"), AsType<winrt::Windows::UI::Xaml::Controls::SplitView>, []() { return winrt::Windows::UI::Xaml::Controls::SplitView::CompactPaneLengthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("compactPaneLength"), AsType<winrt::Windows::UI::Xaml::Controls::NavigationView>, []() { return winrt::Windows::UI::Xaml::Controls::NavigationView::CompactPaneLengthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("components"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::ColorSpectrum>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::ColorSpectrum::ComponentsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("compositeMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CompositeModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("compositeMode"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::CompositeModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("confirmationButtonsVisible"), AsUnwrappedType<winrt::Windows::UI::Xaml::Controls::PickerFlyout>, []() { return winrt::Windows::UI::Xaml::Controls::PickerFlyout::ConfirmationButtonsVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("content"), AsType<winrt::Windows::UI::Xaml::Controls::ContentPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::ContentPresenter::ContentProperty(); }, SetPropValue<winrt::Windows::Foundation::IInspectable>, ViewManagerPropertyType::String },
{ MAKE_KEY("content"), AsType<winrt::Windows::UI::Xaml::Controls::ContentControl>, []() { return winrt::Windows::UI::Xaml::Controls::ContentControl::ContentProperty(); }, SetPropValue<winrt::Windows::Foundation::IInspectable>, ViewManagerPropertyType::String },
@ -215,7 +215,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("elementSoundMode"), AsType<winrt::Windows::UI::Xaml::Controls::Control>, []() { return winrt::Windows::UI::Xaml::Controls::Control::ElementSoundModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("elementSoundMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::ElementSoundModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("exitDisplayModeOnAccessKeyInvoked"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::ExitDisplayModeOnAccessKeyInvokedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("exitDisplayModeOnAccessKeyInvoked"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::ExitDisplayModeOnAccessKeyInvokedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("exitDisplayModeOnAccessKeyInvoked"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::ExitDisplayModeOnAccessKeyInvokedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("expandedGlyph"), AsType<winrt::Windows::UI::Xaml::Controls::TreeViewItem>, []() { return winrt::Windows::UI::Xaml::Controls::TreeViewItem::ExpandedGlyphProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("expandedModeThresholdWidth"), AsType<winrt::Windows::UI::Xaml::Controls::NavigationView>, []() { return winrt::Windows::UI::Xaml::Controls::NavigationView::ExpandedModeThresholdWidthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("fastPlayFallbackBehaviour"), AsType<winrt::Windows::UI::Xaml::Controls::MediaTransportControls>, []() { return winrt::Windows::UI::Xaml::Controls::MediaTransportControls::FastPlayFallbackBehaviourProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
@ -291,6 +291,10 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("glyphBrush"), AsType<winrt::Windows::UI::Xaml::Controls::TreeViewItem>, []() { return winrt::Windows::UI::Xaml::Controls::TreeViewItem::GlyphBrushProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Media::Brush>, ViewManagerPropertyType::Color },
{ MAKE_KEY("glyphOpacity"), AsType<winrt::Windows::UI::Xaml::Controls::TreeViewItem>, []() { return winrt::Windows::UI::Xaml::Controls::TreeViewItem::GlyphOpacityProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("glyphSize"), AsType<winrt::Windows::UI::Xaml::Controls::TreeViewItem>, []() { return winrt::Windows::UI::Xaml::Controls::TreeViewItem::GlyphSizeProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridColumn"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::Controls::Grid::ColumnProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridColumnSpan"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::Controls::Grid::ColumnSpanProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridRow"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::Controls::Grid::RowProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridRowSpan"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::Controls::Grid::RowSpanProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridViewItemPresenterHorizontalContentAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter::GridViewItemPresenterHorizontalContentAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridViewItemPresenterPadding"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter::GridViewItemPresenterPaddingProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Thickness>, ViewManagerPropertyType::Map },
{ MAKE_KEY("gridViewItemPresenterVerticalContentAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter::GridViewItemPresenterVerticalContentAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
@ -321,7 +325,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("headerForeground"), AsType<winrt::Windows::UI::Xaml::Controls::SettingsFlyout>, []() { return winrt::Windows::UI::Xaml::Controls::SettingsFlyout::HeaderForegroundProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Media::Brush>, ViewManagerPropertyType::Color },
{ MAKE_KEY("heading"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::HeadingProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("height"), AsType<winrt::Windows::UI::Xaml::FrameworkElement>, []() { return winrt::Windows::UI::Xaml::FrameworkElement::HeightProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("highContrastAdjustment"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::HighContrastAdjustmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("highContrastAdjustment"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::HighContrastAdjustmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("horizontalAlignment"), AsType<winrt::Windows::UI::Xaml::FrameworkElement>, []() { return winrt::Windows::UI::Xaml::FrameworkElement::HorizontalAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("horizontalAnchorRatio"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::HorizontalAnchorRatioProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("horizontalChildrenAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::VariableSizedWrapGrid>, []() { return winrt::Windows::UI::Xaml::Controls::VariableSizedWrapGrid::HorizontalChildrenAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
@ -357,7 +361,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("intermediateValue"), AsType<winrt::Windows::UI::Xaml::Controls::Slider>, []() { return winrt::Windows::UI::Xaml::Controls::Slider::IntermediateValueProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("interval"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::RepeatButton>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::RepeatButton::IntervalProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("isAccessKeyScope"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::IsAccessKeyScopeProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isAccessKeyScope"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsAccessKeyScopeProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isAccessKeyScope"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsAccessKeyScopeProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isActive"), AsType<winrt::Windows::UI::Xaml::Controls::ProgressRing>, []() { return winrt::Windows::UI::Xaml::Controls::ProgressRing::IsActiveProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isActiveView"), AsType<winrt::Windows::UI::Xaml::Controls::Hub>, []() { return winrt::Windows::UI::Xaml::Controls::Hub::IsActiveViewProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isActiveView"), AsType<winrt::Windows::UI::Xaml::Controls::ListViewBase>, []() { return winrt::Windows::UI::Xaml::Controls::ListViewBase::IsActiveViewProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -394,7 +398,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("isDefaultShadowEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::MenuFlyoutPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::MenuFlyoutPresenter::IsDefaultShadowEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDeferredScrollingEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::IsDeferredScrollingEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDirectionReversed"), AsType<winrt::Windows::UI::Xaml::Controls::Slider>, []() { return winrt::Windows::UI::Xaml::Controls::Slider::IsDirectionReversedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDoubleTapEnabled"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsDoubleTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDoubleTapEnabled"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsDoubleTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDropDownOpen"), AsType<winrt::Windows::UI::Xaml::Controls::ComboBox>, []() { return winrt::Windows::UI::Xaml::Controls::ComboBox::IsDropDownOpenProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isDynamicOverflowEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::CommandBar>, []() { return winrt::Windows::UI::Xaml::Controls::CommandBar::IsDynamicOverflowEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isEditable"), AsType<winrt::Windows::UI::Xaml::Controls::ComboBox>, []() { return winrt::Windows::UI::Xaml::Controls::ComboBox::IsEditableProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -422,8 +426,8 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("isHeaderInteractive"), AsType<winrt::Windows::UI::Xaml::Controls::HubSection>, []() { return winrt::Windows::UI::Xaml::Controls::HubSection::IsHeaderInteractiveProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHeaderItemsCarouselEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::Pivot>, []() { return winrt::Windows::UI::Xaml::Controls::Pivot::IsHeaderItemsCarouselEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHexInputVisible"), AsType<winrt::Windows::UI::Xaml::Controls::ColorPicker>, []() { return winrt::Windows::UI::Xaml::Controls::ColorPicker::IsHexInputVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHitTestVisible"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsHitTestVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHoldingEnabled"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsHoldingEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHitTestVisible"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsHitTestVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHoldingEnabled"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsHoldingEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHorizontalRailEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::IsHorizontalRailEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHorizontalScrollChainingEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::IsHorizontalScrollChainingEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isHorizontalShiftClamped"), AsType<winrt::Windows::UI::Xaml::Controls::ParallaxView>, []() { return winrt::Windows::UI::Xaml::Controls::ParallaxView::IsHorizontalShiftClampedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -458,7 +462,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("isReadOnly"), AsType<winrt::Windows::UI::Xaml::Controls::TextBox>, []() { return winrt::Windows::UI::Xaml::Controls::TextBox::IsReadOnlyProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRepeatButtonVisible"), AsType<winrt::Windows::UI::Xaml::Controls::MediaTransportControls>, []() { return winrt::Windows::UI::Xaml::Controls::MediaTransportControls::IsRepeatButtonVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRepeatEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::MediaTransportControls>, []() { return winrt::Windows::UI::Xaml::Controls::MediaTransportControls::IsRepeatEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRightTapEnabled"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsRightTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRightTapEnabled"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsRightTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRulerButtonChecked"), AsType<winrt::Windows::UI::Xaml::Controls::InkToolbar>, []() { return winrt::Windows::UI::Xaml::Controls::InkToolbar::IsRulerButtonCheckedProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isRulerItemVisible"), AsType<winrt::Windows::UI::Xaml::Controls::InkToolbarStencilButton>, []() { return winrt::Windows::UI::Xaml::Controls::InkToolbarStencilButton::IsRulerItemVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isScrollInertiaEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::ScrollViewer>, []() { return winrt::Windows::UI::Xaml::Controls::ScrollViewer::IsScrollInertiaEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -482,7 +486,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("isTabStop"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::IsTabStopProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTabStop"), AsType<winrt::Windows::UI::Xaml::Controls::Control>, []() { return winrt::Windows::UI::Xaml::Controls::Control::IsTabStopProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTabStop"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::IsTabStopProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTapEnabled"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTapEnabled"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::IsTapEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTextPredictionEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::RichEditBox>, []() { return winrt::Windows::UI::Xaml::Controls::RichEditBox::IsTextPredictionEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTextPredictionEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::TextBox>, []() { return winrt::Windows::UI::Xaml::Controls::TextBox::IsTextPredictionEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("isTextScaleFactorEnabled"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::IsTextScaleFactorEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
@ -526,16 +530,16 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("itemWidth"), AsType<winrt::Windows::UI::Xaml::Controls::VariableSizedWrapGrid>, []() { return winrt::Windows::UI::Xaml::Controls::VariableSizedWrapGrid::ItemWidthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("itemWidth"), AsType<winrt::Windows::UI::Xaml::Controls::WrapGrid>, []() { return winrt::Windows::UI::Xaml::Controls::WrapGrid::ItemWidthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("virtualKey"), AsUnwrappedType<winrt::Windows::UI::Xaml::Input::KeyboardAccelerator>, []() { return winrt::Windows::UI::Xaml::Input::KeyboardAccelerator::KeyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyboardAcceleratorPlacementMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyboardAcceleratorPlacementModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyboardAcceleratorPlacementMode"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyboardAcceleratorPlacementModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyboardAcceleratorTextOverride"), AsType<winrt::Windows::UI::Xaml::Controls::MenuFlyoutItem>, []() { return winrt::Windows::UI::Xaml::Controls::MenuFlyoutItem::KeyboardAcceleratorTextOverrideProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("keyboardAcceleratorTextOverride"), AsType<winrt::Windows::UI::Xaml::Controls::AppBarButton>, []() { return winrt::Windows::UI::Xaml::Controls::AppBarButton::KeyboardAcceleratorTextOverrideProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("keyboardAcceleratorTextOverride"), AsType<winrt::Windows::UI::Xaml::Controls::AppBarToggleButton>, []() { return winrt::Windows::UI::Xaml::Controls::AppBarToggleButton::KeyboardAcceleratorTextOverrideProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("keyTipHorizontalOffset"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::KeyTipHorizontalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipHorizontalOffset"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipHorizontalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipHorizontalOffset"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipHorizontalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipPlacementMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::KeyTipPlacementModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipPlacementMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipPlacementModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipPlacementMode"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipPlacementModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipVerticalOffset"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::TextElement>, []() { return winrt::Windows::UI::Xaml::Documents::TextElement::KeyTipVerticalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipVerticalOffset"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipVerticalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("keyTipVerticalOffset"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::KeyTipVerticalOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("kind"), AsType<winrt::Windows::UI::Xaml::Controls::InkToolbarFlyoutItem>, []() { return winrt::Windows::UI::Xaml::Controls::InkToolbarFlyoutItem::KindProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("label"), AsType<winrt::Windows::UI::Xaml::Controls::AppBarButton>, []() { return winrt::Windows::UI::Xaml::Controls::AppBarButton::LabelProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("label"), AsType<winrt::Windows::UI::Xaml::Controls::AppBarToggleButton>, []() { return winrt::Windows::UI::Xaml::Controls::AppBarToggleButton::LabelProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
@ -566,7 +570,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("listViewItemPresenterHorizontalContentAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter::ListViewItemPresenterHorizontalContentAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("listViewItemPresenterPadding"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter::ListViewItemPresenterPaddingProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Thickness>, ViewManagerPropertyType::Map },
{ MAKE_KEY("listViewItemPresenterVerticalContentAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter::ListViewItemPresenterVerticalContentAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("manipulationMode"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::ManipulationModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("manipulationMode"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::ManipulationModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("mapProjection"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::MapProjectionProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("mapServiceToken"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::MapServiceTokenProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("margin"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Block>, []() { return winrt::Windows::UI::Xaml::Documents::Block::MarginProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Thickness>, ViewManagerPropertyType::Map },
@ -632,7 +636,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("numberOfWeeksInView"), AsType<winrt::Windows::UI::Xaml::Controls::CalendarView>, []() { return winrt::Windows::UI::Xaml::Controls::CalendarView::NumberOfWeeksInViewProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("offContent"), AsType<winrt::Windows::UI::Xaml::Controls::ToggleSwitch>, []() { return winrt::Windows::UI::Xaml::Controls::ToggleSwitch::OffContentProperty(); }, SetPropValue<winrt::Windows::Foundation::IInspectable>, ViewManagerPropertyType::Map },
{ MAKE_KEY("onContent"), AsType<winrt::Windows::UI::Xaml::Controls::ToggleSwitch>, []() { return winrt::Windows::UI::Xaml::Controls::ToggleSwitch::OnContentProperty(); }, SetPropValue<winrt::Windows::Foundation::IInspectable>, ViewManagerPropertyType::Map },
{ MAKE_KEY("opacity"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::OpacityProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("opacity"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::OpacityProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("openPaneLength"), AsType<winrt::Windows::UI::Xaml::Controls::SplitView>, []() { return winrt::Windows::UI::Xaml::Controls::SplitView::OpenPaneLengthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("openPaneLength"), AsType<winrt::Windows::UI::Xaml::Controls::NavigationView>, []() { return winrt::Windows::UI::Xaml::Controls::NavigationView::OpenPaneLengthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("opticalMarginAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::ContentPresenter>, []() { return winrt::Windows::UI::Xaml::Controls::ContentPresenter::OpticalMarginAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
@ -827,7 +831,7 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("mapStyle"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::StyleProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Controls::Maps::MapStyle>, ViewManagerPropertyType::Number },
{ MAKE_KEY("styleSimulations"), AsType<winrt::Windows::UI::Xaml::Documents::Glyphs>, []() { return winrt::Windows::UI::Xaml::Documents::Glyphs::StyleSimulationsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("symbol"), AsType<winrt::Windows::UI::Xaml::Controls::SymbolIcon>, []() { return winrt::Windows::UI::Xaml::Controls::SymbolIcon::SymbolProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("tabFocusNavigation"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::TabFocusNavigationProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("tabFocusNavigation"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::TabFocusNavigationProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("tabIndex"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::TabIndexProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("tabIndex"), AsType<winrt::Windows::UI::Xaml::Controls::Control>, []() { return winrt::Windows::UI::Xaml::Controls::Control::TabIndexProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("tabIndex"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::TabIndexProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
@ -880,11 +884,97 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("trafficFlowVisible"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::TrafficFlowVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("transitFeaturesEnabled"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::TransitFeaturesEnabledProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("transitFeaturesVisible"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::TransitFeaturesVisibleProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyAnnotationAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::AnnotationAlternatesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyAnnotationAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::AnnotationAlternatesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyCapitals"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CapitalsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyCapitals"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CapitalsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyCapitalSpacing"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CapitalSpacingProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyCapitalSpacing"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CapitalSpacingProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyCaseSensitiveForms"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CaseSensitiveFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyCaseSensitiveForms"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::CaseSensitiveFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyContextualAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualAlternatesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyContextualAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualAlternatesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyContextualLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyContextualLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyContextualSwashes"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualSwashesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyContextualSwashes"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::ContextualSwashesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyDiscretionaryLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::DiscretionaryLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyDiscretionaryLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::DiscretionaryLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyEastAsianExpertForms"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianExpertFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyEastAsianExpertForms"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianExpertFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyEastAsianLanguage"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianLanguageProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyEastAsianLanguage"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianLanguageProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyEastAsianWidths"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianWidthsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyEastAsianWidths"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::EastAsianWidthsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyFraction"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::FractionProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyFraction"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::FractionProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyHistoricalForms"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::HistoricalFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyHistoricalForms"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::HistoricalFormsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyHistoricalLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::HistoricalLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyHistoricalLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::HistoricalLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyKerning"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::KerningProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyKerning"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::KerningProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyMathematicalGreek"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::MathematicalGreekProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyMathematicalGreek"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::MathematicalGreekProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyNumeralAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::NumeralAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyNumeralAlignment"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::NumeralAlignmentProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyNumeralStyle"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::NumeralStyleProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyNumeralStyle"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::NumeralStyleProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographySlashedZero"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::SlashedZeroProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographySlashedZero"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::SlashedZeroProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStandardLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StandardLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStandardLigatures"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StandardLigaturesProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStandardSwashes"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StandardSwashesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyStandardSwashes"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StandardSwashesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyStylisticAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticAlternatesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyStylisticAlternates"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticAlternatesProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyStylisticSet1"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet1Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet1"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet1Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet10"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet10Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet10"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet10Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet11"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet11Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet11"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet11Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet12"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet12Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet12"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet12Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet13"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet13Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet13"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet13Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet14"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet14Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet14"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet14Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet15"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet15Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet15"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet15Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet16"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet16Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet16"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet16Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet17"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet17Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet17"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet17Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet18"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet18Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet18"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet18Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet19"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet19Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet19"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet19Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet2"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet2Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet2"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet2Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet20"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet20Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet20"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet20Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet3"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet3Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet3"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet3Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet4"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet4Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet4"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet4Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet5"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet5Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet5"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet5Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet6"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet6Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet6"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet6Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet7"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet7Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet7"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet7Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet8"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet8Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet8"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet8Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet9"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet9Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyStylisticSet9"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::StylisticSet9Property(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("typographyVariants"), AsType<winrt::Windows::UI::Xaml::Controls::RichTextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::VariantsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("typographyVariants"), AsType<winrt::Windows::UI::Xaml::Controls::TextBlock>, []() { return winrt::Windows::UI::Xaml::Documents::Typography::VariantsProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("underlineStyle"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::UnderlineStyleProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("unicodeString"), AsType<winrt::Windows::UI::Xaml::Documents::Glyphs>, []() { return winrt::Windows::UI::Xaml::Documents::Glyphs::UnicodeStringProperty(); }, SetPropValue<winrt::hstring>, ViewManagerPropertyType::String },
{ MAKE_KEY("updateTextOnSelect"), AsType<winrt::Windows::UI::Xaml::Controls::AutoSuggestBox>, []() { return winrt::Windows::UI::Xaml::Controls::AutoSuggestBox::UpdateTextOnSelectProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("uriSource"), AsType<winrt::Windows::UI::Xaml::Controls::BitmapIcon>, []() { return winrt::Windows::UI::Xaml::Controls::BitmapIcon::UriSourceProperty(); }, SetPropValue<winrt::Windows::Foundation::Uri>, ViewManagerPropertyType::String },
{ MAKE_KEY("useLayoutRounding"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::UseLayoutRoundingProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("useLayoutRounding"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::UseLayoutRoundingProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("useSystemFocusVisuals"), AsType<winrt::Windows::UI::Xaml::Controls::Control>, []() { return winrt::Windows::UI::Xaml::Controls::Control::UseSystemFocusVisualsProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("useTouchAnimationsForAllNavigation"), AsType<winrt::Windows::UI::Xaml::Controls::FlipView>, []() { return winrt::Windows::UI::Xaml::Controls::FlipView::UseTouchAnimationsForAllNavigationProperty(); }, SetPropValue<bool>, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("value"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::RangeBase>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::RangeBase::ValueProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
@ -909,24 +999,24 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
{ MAKE_KEY("verticalSourceStartOffset"), AsType<winrt::Windows::UI::Xaml::Controls::ParallaxView>, []() { return winrt::Windows::UI::Xaml::Controls::ParallaxView::VerticalSourceStartOffsetProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("viewPadding"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::ViewPaddingProperty(); }, SetPropValue<winrt::Windows::UI::Xaml::Thickness>, ViewManagerPropertyType::Map },
{ MAKE_KEY("viewportSize"), AsType<winrt::Windows::UI::Xaml::Controls::Primitives::ScrollBar>, []() { return winrt::Windows::UI::Xaml::Controls::Primitives::ScrollBar::ViewportSizeProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("visibility"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::VisibilityProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("visibility"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::VisibilityProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("volume"), AsType<winrt::Windows::UI::Xaml::Controls::MediaElement>, []() { return winrt::Windows::UI::Xaml::Controls::MediaElement::VolumeProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("watermarkMode"), AsType<winrt::Windows::UI::Xaml::Controls::Maps::MapControl>, []() { return winrt::Windows::UI::Xaml::Controls::Maps::MapControl::WatermarkModeProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("wideModeConfiguration"), AsType<winrt::Windows::UI::Xaml::Controls::TwoPaneView>, []() { return winrt::Windows::UI::Xaml::Controls::TwoPaneView::WideModeConfigurationProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("width"), AsType<winrt::Windows::UI::Xaml::FrameworkElement>, []() { return winrt::Windows::UI::Xaml::FrameworkElement::WidthProperty(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("x1"), AsType<winrt::Windows::UI::Xaml::Shapes::Line>, []() { return winrt::Windows::UI::Xaml::Shapes::Line::X1Property(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("x2"), AsType<winrt::Windows::UI::Xaml::Shapes::Line>, []() { return winrt::Windows::UI::Xaml::Shapes::Line::X2Property(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusDownNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusDownNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusDownNavigationStrategy"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusDownNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusDownNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::XYFocusDownNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusDownNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::XYFocusDownNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusKeyboardNavigation"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusKeyboardNavigationProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusLeftNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusLeftNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusKeyboardNavigation"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusKeyboardNavigationProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusLeftNavigationStrategy"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusLeftNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusLeftNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::XYFocusLeftNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusLeftNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::XYFocusLeftNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusRightNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusRightNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusRightNavigationStrategy"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusRightNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusRightNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::XYFocusRightNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusRightNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::XYFocusRightNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusUpNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusUpNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusUpNavigationStrategy"), AsType<winrt::Windows::UI::Xaml::UIElement>, []() { return winrt::Windows::UI::Xaml::UIElement::XYFocusUpNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusUpNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::ContentLink>, []() { return winrt::Windows::UI::Xaml::Documents::ContentLink::XYFocusUpNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("xyFocusUpNavigationStrategy"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Hyperlink>, []() { return winrt::Windows::UI::Xaml::Documents::Hyperlink::XYFocusUpNavigationStrategyProperty(); }, SetPropValue<int32_t>, ViewManagerPropertyType::Number },
{ MAKE_KEY("y1"), AsType<winrt::Windows::UI::Xaml::Shapes::Line>, []() { return winrt::Windows::UI::Xaml::Shapes::Line::Y1Property(); }, SetPropValue<double>, ViewManagerPropertyType::Number },
@ -944,8 +1034,6 @@ winrt::Windows::Foundation::IInspectable AsUnwrappedType(const winrt::Windows::F
void SetIsOpen_FlyoutBase(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetText_Run(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetGridRow_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetGridColumn_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetGridLayout_Grid(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetPriority_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
void SetResources_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext& reactContext);
@ -954,8 +1042,6 @@ void SetShowState_ContentDialog(const xaml::DependencyObject& o, const xaml::Dep
/*static*/ const PropInfo fakeProps[] = {
{ MAKE_KEY("isOpen"), AsUnwrappedType<winrt::Windows::UI::Xaml::Controls::Primitives::FlyoutBase>, nullptr, SetIsOpen_FlyoutBase, ViewManagerPropertyType::Boolean },
{ MAKE_KEY("text"), AsUnwrappedType<winrt::Windows::UI::Xaml::Documents::Run>, nullptr, SetText_Run, ViewManagerPropertyType::String },
{ MAKE_KEY("gridRow"), AsType<winrt::Windows::UI::Xaml::UIElement>, nullptr, SetGridRow_UIElement, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridColumn"), AsType<winrt::Windows::UI::Xaml::UIElement>, nullptr, SetGridColumn_UIElement, ViewManagerPropertyType::Number },
{ MAKE_KEY("gridLayout"), AsType<winrt::Windows::UI::Xaml::Controls::Grid>, nullptr, SetGridLayout_Grid, ViewManagerPropertyType::Map },
{ MAKE_KEY("priority"), AsType<winrt::Windows::UI::Xaml::UIElement>, nullptr, SetPriority_UIElement, ViewManagerPropertyType::Number },
{ MAKE_KEY("resources"), AsType<winrt::Windows::UI::Xaml::UIElement>, nullptr, SetResources_UIElement, ViewManagerPropertyType::Map },
@ -1115,6 +1201,10 @@ void XamlMetadata::PopulateNativeProps(winrt::Windows::Foundation::Collections::
nativeProps.Insert(winrt::to_hstring("glyphBrush"), ViewManagerPropertyType::Color);
nativeProps.Insert(winrt::to_hstring("glyphOpacity"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("glyphSize"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridColumn"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridColumnSpan"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridRow"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridRowSpan"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridViewItemPresenterHorizontalContentAlignment"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("gridViewItemPresenterPadding"), ViewManagerPropertyType::Map);
nativeProps.Insert(winrt::to_hstring("gridViewItemPresenterVerticalContentAlignment"), ViewManagerPropertyType::Number);
@ -1463,7 +1553,6 @@ void XamlMetadata::PopulateNativeProps(winrt::Windows::Foundation::Collections::
nativeProps.Insert(winrt::to_hstring("strokeStartLineCap"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("strokeThickness"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("styleKey"), ViewManagerPropertyType::String);
nativeProps.Insert(winrt::to_hstring("mapStyle"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("styleSimulations"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("symbol"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("tabFocusNavigation"), ViewManagerPropertyType::Number);
@ -1490,6 +1579,49 @@ void XamlMetadata::PopulateNativeProps(winrt::Windows::Foundation::Collections::
nativeProps.Insert(winrt::to_hstring("trafficFlowVisible"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("transitFeaturesEnabled"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("transitFeaturesVisible"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyAnnotationAlternates"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyCapitals"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyCapitalSpacing"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyCaseSensitiveForms"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyContextualAlternates"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyContextualLigatures"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyContextualSwashes"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyDiscretionaryLigatures"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyEastAsianExpertForms"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyEastAsianLanguage"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyEastAsianWidths"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyFraction"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyHistoricalForms"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyHistoricalLigatures"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyKerning"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyMathematicalGreek"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyNumeralAlignment"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyNumeralStyle"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographySlashedZero"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStandardLigatures"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStandardSwashes"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyStylisticAlternates"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet1"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet10"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet11"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet12"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet13"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet14"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet15"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet16"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet17"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet18"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet19"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet2"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet20"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet3"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet4"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet5"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet6"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet7"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet8"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyStylisticSet9"), ViewManagerPropertyType::Boolean);
nativeProps.Insert(winrt::to_hstring("typographyVariants"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("underlineStyle"), ViewManagerPropertyType::Number);
nativeProps.Insert(winrt::to_hstring("unicodeString"), ViewManagerPropertyType::String);
nativeProps.Insert(winrt::to_hstring("updateTextOnSelect"), ViewManagerPropertyType::Boolean);

Просмотреть файл

@ -110,18 +110,6 @@ void SetNavigateUri_Hyperlink(const xaml::DependencyObject& o, const xaml::Depen
}
}
void SetGridRow_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext&) {
if (auto ui = o.try_as<UIElement>()) {
ui.SetValue(Grid::RowProperty(), winrt::box_value(v.AsInt32()));
}
}
void SetGridColumn_UIElement(const xaml::DependencyObject& o, const xaml::DependencyProperty&, const winrt::Microsoft::ReactNative::JSValue& v, const winrt::Microsoft::ReactNative::IReactContext&) {
if (auto ui = o.try_as<UIElement>()) {
ui.SetValue(Grid::ColumnProperty(), winrt::box_value(v.AsInt32()));
}
}
GridLength GetGridLength(const winrt::Microsoft::ReactNative::JSValue& v) {
if (v.Type() == JSValueType::Double || v.Type() == JSValueType::Int64) {
return GridLengthHelper::FromValueAndType(v.AsDouble(), GridUnitType::Pixel);
@ -239,7 +227,6 @@ void SetPriority_UIElement(const DependencyObject& u, const xaml::DependencyProp
u.SetValue(GetPriorityProperty(), winrt::box_value(priorityValue));
}
const PropInfo* XamlMetadata::FindFirstMatch(const stringKey& key, const winrt::Windows::Foundation::IInspectable& obj, const PropInfo* map, size_t size) {
auto it = std::find_if(map, map + size, [key](const PropInfo& entry) { return Equals(entry.propName, key); });
while ((it != map + size) && Equals(it->propName, key)) {