+
+ // Visit Parameter Properties to create instance from parameterized constructor
+ var type = XamlParser.GetElementType(rootnode.XmlType, rootnode, null, out XamlParseException xpe);
+ if (xpe != null)
+ throw xpe;
+
+ var ctorInfo =
+ type.GetTypeInfo()
+ .DeclaredConstructors.FirstOrDefault(
+ ci =>
+ ci.GetParameters().Length != 0 && ci.IsPublic &&
+ ci.GetParameters().All(pi => pi.CustomAttributes.Any(attr => attr.AttributeType == typeof(ParameterAttribute))));
+ if (ctorInfo != null)
+ {
+ foreach (var parameter in ctorInfo.GetParameters())
+ {
+ var propname =
+ parameter.CustomAttributes.First(ca => ca.AttributeType.FullName == "Tizen.NUI.Binding.ParameterAttribute")?
+ .ConstructorArguments.First()
+ .Value as string;
+
+ var name = new XmlName("", propname);
+ if (rootnode.Properties.TryGetValue(name, out INode node) && node is ValueNode)
+ {
+ node.Accept(cvv, rootnode);
+ }
+ }
+ }
+
+