diff --git a/src/Tizen.NUI.Extension/Tizen.NUI.Extension.csproj b/src/Tizen.NUI.Extension/Tizen.NUI.Extension.csproj
index 4d078cb95e2..d9a4bc185dd 100644
--- a/src/Tizen.NUI.Extension/Tizen.NUI.Extension.csproj
+++ b/src/Tizen.NUI.Extension/Tizen.NUI.Extension.csproj
@@ -14,4 +14,7 @@
+
+
+
diff --git a/src/Tizen.NUI/src/internal/Common/PropertyHelper.cs b/src/Tizen.NUI/src/internal/Common/PropertyHelper.cs
index 2d890516139..2084d6f8822 100755
--- a/src/Tizen.NUI/src/internal/Common/PropertyHelper.cs
+++ b/src/Tizen.NUI/src/internal/Common/PropertyHelper.cs
@@ -158,7 +158,7 @@ private static object ObjectColorToVector4(object value)
return new Vector4(colorValue.R, colorValue.G, colorValue.B, colorValue.A);
}
- return null;
+ return value is UIColor ? value : null;
}
private static PropertyValue PropertyValueColorToVector4(PropertyValue value)
diff --git a/src/Tizen.NUI/src/public/Common/PropertyValue.cs b/src/Tizen.NUI/src/public/Common/PropertyValue.cs
index ca5f076d2de..ae5cf5c5b8c 100755
--- a/src/Tizen.NUI/src/public/Common/PropertyValue.cs
+++ b/src/Tizen.NUI/src/public/Common/PropertyValue.cs
@@ -312,7 +312,7 @@ public bool NotEqualTo(PropertyValue rhs)
///
/// Hidden API (Inhouse API).
- /// Dispose.
+ /// Dispose.
///
///
/// Following the guide of https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/implementing-dispose.
@@ -451,6 +451,32 @@ static public PropertyValue CreateFromObject(System.Object obj)
{
value = new PropertyValue((PropertyMap)obj);
}
+ else if (type.Equals(typeof(UIColor)))
+ {
+ UIColor color = ((UIColor)obj);
+ value = new PropertyValue(color.R, color.G, color.B, color.A);
+ }
+ else if (type.Equals(typeof(UICorner)))
+ {
+ UICorner corner = ((UICorner)obj);
+ value = new PropertyValue(corner.TopLeft, corner.TopRight, corner.BottomRight, corner.BottomLeft);
+ }
+ else if (type.Equals(typeof(UIExtents)))
+ {
+ // TODO Do not create Extents instance
+ using Extents extents = ((UIExtents)obj).ToReferenceType();
+ value = new PropertyValue(extents);
+ }
+ else if (type.Equals(typeof(UIVector2)))
+ {
+ UIVector2 vector2 = ((UIVector2)obj);
+ value = new PropertyValue(vector2.X, vector2.Y);
+ }
+ else if (type.Equals(typeof(UIVector3)))
+ {
+ UIVector3 vector3 = ((UIVector3)obj);
+ value = new PropertyValue(vector3.X, vector3.Y, vector3.Z);
+ }
else
{
throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);
@@ -564,6 +590,32 @@ static public PropertyValue CreateFromObject(System.Object obj)
{
value = Interop.PropertyValue.NewPropertyValueMap(PropertyMap.getCPtr((PropertyMap)(obj)));
}
+ else if (type.Equals(typeof(UIColor)))
+ {
+ UIColor color = ((UIColor)obj);
+ value = Interop.PropertyValue.NewPropertyValueVector4Componentwise(color.R, color.G, color.B, color.A);
+ }
+ else if (type.Equals(typeof(UICorner)))
+ {
+ UICorner corner = ((UICorner)obj);
+ value = Interop.PropertyValue.NewPropertyValueVector4Componentwise(corner.TopLeft, corner.TopRight, corner.BottomRight, corner.BottomLeft);
+ }
+ else if (type.Equals(typeof(UIExtents)))
+ {
+ // TODO Do not create Extents instance
+ using Extents extents = ((UIExtents)obj).ToReferenceType();
+ value = Interop.PropertyValue.NewPropertyValueExtents(Extents.getCPtr(extents));
+ }
+ else if (type.Equals(typeof(UIVector2)))
+ {
+ UIVector2 vector2 = ((UIVector2)obj);
+ value = Interop.PropertyValue.NewPropertyValueVector2Componentwise(vector2.X, vector2.Y);
+ }
+ else if (type.Equals(typeof(UIVector3)))
+ {
+ UIVector3 vector3 = ((UIVector3)obj);
+ value = Interop.PropertyValue.NewPropertyValueVector3Componentwise(vector3.X, vector3.Y, vector3.Z);
+ }
else
{
throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);