[NUI] Fix extents issue and unified style format (#1279)
authorXianbing Teng <xb.teng@samsung.com>
Thu, 9 Jan 2020 09:43:08 +0000 (17:43 +0800)
committerJiyun Yang <ji.yang@samsung.com>
Thu, 9 Jan 2020 09:43:08 +0000 (18:43 +0900)
* [NUI] Fix extents issue and unified style format

* [NUI] Add null value check

* [NUI] Fix null value check issue

17 files changed:
src/Tizen.NUI.Components/Style/ButtonStyle.cs
src/Tizen.NUI.Components/Style/ControlStyle.cs
src/Tizen.NUI.Components/Style/DropDownStyle.cs
src/Tizen.NUI.Components/Style/ImageControlStyle.cs
src/Tizen.NUI.Components/Style/LoadingStyle.cs
src/Tizen.NUI.Components/Style/PaginationStyle.cs
src/Tizen.NUI.Components/Style/PopupStyle.cs
src/Tizen.NUI.Components/Style/ProgressStyle.cs
src/Tizen.NUI.Components/Style/ScrollbarStyle.cs
src/Tizen.NUI.Components/Style/SliderStyle.cs
src/Tizen.NUI.Components/Style/SwitchStyle.cs
src/Tizen.NUI.Components/Style/TabStyle.cs
src/Tizen.NUI.Components/Style/ToastStyle.cs
src/Tizen.NUI/src/public/BaseComponents/Style/ImageViewStyle.cs
src/Tizen.NUI/src/public/BaseComponents/Style/TextFieldStyle.cs
src/Tizen.NUI/src/public/BaseComponents/Style/TextLabelStyle.cs
src/Tizen.NUI/src/public/BaseComponents/Style/ViewStyle.cs

index 2dc528d..1678d1b 100755 (executable)
@@ -29,13 +29,6 @@ namespace Tizen.NUI.Components
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class ButtonStyle : ControlStyle
     {
-        private bool? isSelectable;
-        private bool? isSelected;
-        private bool? isEnabled;
-        private Button.IconOrientation? iconRelativeOrientation;
-        private Extents iconPadding;
-        private Extents textPadding;
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty IsSelectableProperty = BindableProperty.Create(nameof(IsSelectable), typeof(bool?), typeof(ButtonStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
@@ -89,7 +82,8 @@ namespace Tizen.NUI.Components
         public static readonly BindableProperty IconPaddingProperty = BindableProperty.Create(nameof(IconPadding), typeof(Extents), typeof(ButtonStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var buttonStyle = (ButtonStyle)bindable;
-            buttonStyle.iconPadding = (Extents)newValue;
+            if (null == buttonStyle.iconPadding) buttonStyle.iconPadding = new Extents(buttonStyle.OnIconPaddingChanged, 0, 0, 0, 0);
+            buttonStyle.iconPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -101,7 +95,8 @@ namespace Tizen.NUI.Components
         public static readonly BindableProperty TextPaddingProperty = BindableProperty.Create(nameof(TextPadding), typeof(Extents), typeof(ButtonStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var buttonStyle = (ButtonStyle)bindable;
-            buttonStyle.textPadding = (Extents)newValue;
+            if (null == buttonStyle.textPadding) buttonStyle.textPadding = new Extents(buttonStyle.OnTextPaddingChanged, 0, 0, 0, 0);
+            buttonStyle.textPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -109,6 +104,13 @@ namespace Tizen.NUI.Components
             return buttonStyle.textPadding;
         });
 
+        private bool? isSelectable;
+        private bool? isSelected;
+        private bool? isEnabled;
+        private Button.IconOrientation? iconRelativeOrientation;
+        private Extents iconPadding;
+        private Extents textPadding;
+
         static ButtonStyle() { }
 
         /// <summary>
@@ -211,7 +213,7 @@ namespace Tizen.NUI.Components
             get
             {
                 Extents padding = (Extents)GetValue(IconPaddingProperty);
-                return (null != padding) ? padding : new Extents((ushort start, ushort end, ushort top, ushort bottom) => { IconPadding = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != padding) ? padding : iconPadding = new Extents(OnIconPaddingChanged, 0, 0, 0, 0);
             }
             set => SetValue(IconPaddingProperty, value);
         }
@@ -223,7 +225,7 @@ namespace Tizen.NUI.Components
             get
             {
                 Extents padding = (Extents)GetValue(TextPaddingProperty);
-                return (null != padding) ? padding : new Extents((ushort start, ushort end, ushort top, ushort bottom) => { TextPadding = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != padding) ? padding : textPadding = new Extents(OnTextPaddingChanged, 0, 0, 0, 0);
             }
             set => SetValue(TextPaddingProperty, value);
         }
@@ -297,5 +299,15 @@ namespace Tizen.NUI.Components
         {
             OnPropertyChanged();
         }
+
+        private void OnIconPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            IconPadding = new Extents(start, end, top, bottom);
+        }
+
+        private void OnTextPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            TextPadding = new Extents(start, end, top, bottom);
+        }
     }
 }
index a37925d..8d48d66 100755 (executable)
@@ -35,7 +35,7 @@ namespace Tizen.NUI.Components
         {
             var controlStyle = (ControlStyle)bindable;
             if (null == controlStyle.backgroundImage) controlStyle.backgroundImage = new Selector<string>();
-            controlStyle.backgroundImage.Clone((Selector<string>)newValue);
+            controlStyle.backgroundImage.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -48,7 +48,7 @@ namespace Tizen.NUI.Components
         {
             var controlStyle = (ControlStyle)bindable;
             if (null == controlStyle.backgroundColor) controlStyle.backgroundColor = new Selector<Color>();
-            controlStyle.backgroundColor.Clone((Selector<Color>)newValue);
+            controlStyle.backgroundColor.Clone(null == newValue ? new Selector<Color>() : (Selector<Color>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -61,13 +61,14 @@ namespace Tizen.NUI.Components
         {
             var controlStyle = (ControlStyle)bindable;
             if (null == controlStyle.backgroundImageBorder) controlStyle.backgroundImageBorder = new Selector<Rectangle>();
-            controlStyle.backgroundImageBorder.Clone((Selector<Rectangle>)newValue);
+            controlStyle.backgroundImageBorder.Clone(null == newValue ? new Selector<Rectangle>() : (Selector<Rectangle>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var controlStyle = (ControlStyle)bindable;
             return controlStyle.backgroundImageBorder;
         });
+
         private Selector<string> backgroundImage;
         private Selector<Rectangle> backgroundImageBorder;
         private Selector<Color> backgroundColor;
index 92d9d0f..237da27 100755 (executable)
@@ -29,12 +29,6 @@ namespace Tizen.NUI.Components
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class DropDownStyle : ControlStyle
     {
-        private Extents listMargin;
-        private Extents listPadding;
-        private int spaceBetweenButtonTextAndIcon = 0;
-        private ListOrientation? listRelativeOrientation = ListOrientation.Left;
-        private int selectedItemIndex = 0;
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty SpaceBetweenButtonTextAndIconProperty = BindableProperty.Create(nameof(SpaceBetweenButtonTextAndIcon), typeof(int), typeof(DropDownStyle), 0, propertyChanged: (bindable, oldValue, newValue) =>
@@ -64,7 +58,8 @@ namespace Tizen.NUI.Components
         public static readonly BindableProperty ListMarginProperty = BindableProperty.Create(nameof(ListMargin), typeof(Extents), typeof(DropDownStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var dropDownStyle = (DropDownStyle)bindable;
-            dropDownStyle.listMargin.CopyFrom((Extents)newValue);
+            if (null == dropDownStyle.listMargin) dropDownStyle.listMargin = new Extents(dropDownStyle.OnListMarginChanged, 0, 0, 0, 0);
+            dropDownStyle.listMargin.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -90,7 +85,8 @@ namespace Tizen.NUI.Components
             var dropDownStyle = (DropDownStyle)bindable;
             if (null != newValue)
             {
-                dropDownStyle.listPadding.CopyFrom((Extents)newValue);
+                if (null == dropDownStyle.listPadding) dropDownStyle.listPadding = new Extents(dropDownStyle.OnListPaddingChanged, 0, 0, 0, 0);
+                dropDownStyle.listPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
             }
         },
         defaultValueCreator: (bindable) =>
@@ -99,6 +95,12 @@ namespace Tizen.NUI.Components
             return dropDownStyle.listPadding;
         });
 
+        private Extents listMargin;
+        private Extents listPadding;
+        private int spaceBetweenButtonTextAndIcon = 0;
+        private ListOrientation? listRelativeOrientation = ListOrientation.Left;
+        private int selectedItemIndex = 0;
+
         static DropDownStyle() { }
 
         /// <summary>
@@ -182,7 +184,7 @@ namespace Tizen.NUI.Components
             get
             {
                 Extents tmp = (Extents)GetValue(ListMarginProperty);
-                return (null != tmp) ? tmp : listMargin = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { ListMargin = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != tmp) ? tmp : listMargin = new Extents(OnListMarginChanged, 0, 0, 0, 0);
             }
             set => SetValue(ListMarginProperty, value);
         }
@@ -206,7 +208,7 @@ namespace Tizen.NUI.Components
             get
             {
                 Extents tmp = (Extents)GetValue(ListPaddingProperty);
-                return (null != tmp) ? tmp : listPadding = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { ListPadding = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != tmp) ? tmp : listPadding = new Extents(OnListPaddingChanged, 0, 0, 0, 0);
             }
             set => SetValue(ListPaddingProperty, value);
         }
@@ -231,6 +233,16 @@ namespace Tizen.NUI.Components
                 ListPadding.CopyFrom(dropDownStyle.ListPadding);
             }
         }
+
+        private void OnListMarginChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            ListMargin = new Extents(start, end, top, bottom);
+        }
+
+        private void OnListPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            ListPadding = new Extents(start, end, top, bottom);
+        }
     }
 
     /// <summary>
index abb189f..6818b75 100755 (executable)
@@ -35,7 +35,7 @@ namespace Tizen.NUI.Components
         {
             var imageControlStyle = (ImageControlStyle)bindable;
             if (null == imageControlStyle.resourceUrlSelector) imageControlStyle.resourceUrlSelector = new Selector<string>();
-            imageControlStyle.resourceUrlSelector.Clone((Selector<string>)newValue);
+            imageControlStyle.resourceUrlSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -67,9 +67,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageControlStyle() : base()
-        {
-        }
+        public ImageControlStyle() : base() { }
 
         /// <summary>
         /// Creates a new instance of a ImageControlStyle with style.
index 5d8f73b..2d9de1d 100755 (executable)
@@ -60,11 +60,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public string[] Images
-        {
-            get;
-            set;
-        }
+        public string[] Images { get; set; }
 
         /// <summary>
         /// Gets or sets loading image size.
@@ -72,11 +68,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Size LoadingSize
-        {
-            get;
-            set;
-        }
+        public Size LoadingSize { get; set; }
 
         /// <summary>
         /// Gets or sets loading frame per second.
@@ -84,11 +76,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Selector<int?> FrameRate
-        {
-            get;
-            set;
-        } = new Selector<int?>();
+        public Selector<int?> FrameRate { get; set; } = new Selector<int?>();
 
         /// <summary>
         /// Attributes's clone function.
index 93abff2..2eedff6 100755 (executable)
@@ -57,11 +57,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Size IndicatorSize
-        {
-            get;
-            set;
-        }
+        public Size IndicatorSize { get; set; }
 
         /// <summary>
         /// Gets or sets the resource of indicator.
@@ -69,11 +65,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Selector<string> IndicatorImageURL
-        {
-            get;
-            set;
-        } = new Selector<string>();
+        public Selector<string> IndicatorImageURL { get; set; } = new Selector<string>();
 
         /// <summary>
         /// Gets or sets the space of the indicator.
@@ -81,11 +73,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public int IndicatorSpacing
-        {
-            get;
-            set;
-        }
+        public int IndicatorSpacing { get; set; }
 
         /// <summary>
         /// Retrieves a copy of PaginationStyle.
index 6bc11c0..efbba28 100755 (executable)
@@ -60,11 +60,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public TextLabelStyle Title
-        {
-            get;
-            set;
-        }
+        public TextLabelStyle Title { get; set; }
 
         /// <summary>
         /// Shadow offset.
@@ -72,11 +68,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Extents ShadowExtents
-        {
-            get;
-            set;
-        }
+        public Extents ShadowExtents { get; set; }
 
         /// <summary>
         /// Popup button's attributes.
@@ -84,11 +76,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ButtonStyle Buttons
-        {
-            get;
-            set;
-        }
+        public ButtonStyle Buttons { get; set; }
 
         /// <summary>
         /// Attributes's clone function.
index cfeb0fb..c237827 100755 (executable)
@@ -63,11 +63,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Track
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Track { get; set; }
 
         /// <summary>
         /// Get or set progress image.
@@ -75,11 +71,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Progress
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Progress { get; set; }
 
         /// <summary>
         /// Get or set buffer image.
@@ -87,11 +79,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Buffer
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Buffer { get; set; }
 
         /// <summary>
         /// Clone function.
index a7db5d6..87f6e30 100755 (executable)
@@ -64,11 +64,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Track
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Track { get; set; }
 
         /// <summary>
         /// Get or set thumb image style
@@ -76,11 +72,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Thumb
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Thumb { get; set; }
 
         /// <summary>
         /// Get or set direction type
@@ -88,11 +80,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ScrollBar.DirectionType? Direction
-        {
-            get;
-            set;
-        }
+        public ScrollBar.DirectionType? Direction { get; set; }
 
         /// <summary>
         /// Get or set duration
@@ -100,11 +88,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint Duration
-        {
-            get;
-            set;
-        }
+        public uint Duration { get; set; }
 
         /// <summary>
         /// Attributes's clone function.
index cc2b65b..7350a8f 100755 (executable)
@@ -81,7 +81,8 @@ namespace Tizen.NUI.Components
             var instance = (SliderStyle)bindable;
             if (newValue != null)
             {
-                instance.trackPadding.CopyFrom((Extents)newValue);
+                if (null == instance.trackPadding) instance.trackPadding = new Extents(instance.OnTrackPaddingChanged, 0, 0, 0, 0);
+                instance.trackPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
             }
         },
         defaultValueCreator: (bindable) =>
@@ -90,6 +91,11 @@ namespace Tizen.NUI.Components
             return instance.trackPadding;
         });
 
+        private IndicatorType? privateIndicatorType;
+        private uint? privateTrackThickness;
+        private uint? privateSpaceBetweenTrackAndIndicator;
+        private Extents trackPadding;
+
         static SliderStyle() { }
 
         /// <summary>
@@ -193,8 +199,6 @@ namespace Tizen.NUI.Components
             set => SetValue(IndicatorTypeProperty, value);
         }
 
-        private IndicatorType? privateIndicatorType { get; set; }
-
         /// <summary>
         /// Get or set track thickness
         /// </summary>
@@ -206,7 +210,6 @@ namespace Tizen.NUI.Components
             get => (uint?)GetValue(TrackThicknessProperty);
             set => SetValue(TrackThicknessProperty, value);
         }
-        private uint? privateTrackThickness { get; set; }
 
         /// <summary>
         /// Get or set space between track and indicator
@@ -219,7 +222,6 @@ namespace Tizen.NUI.Components
             get => (uint?)GetValue(SpaceBetweenTrackAndIndicatorProperty);
             set => SetValue(SpaceBetweenTrackAndIndicatorProperty, value);
         }
-        private uint? privateSpaceBetweenTrackAndIndicator { get; set; }
 
         /// <summary>
         /// Get or set space between track and indicator
@@ -229,24 +231,12 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Extents TrackPadding
         {
-            get => (Extents)GetValue(TrackPaddingProperty);
-            set => SetValue(TrackPaddingProperty, value);
-        }
-        private Extents _trackPadding;
-        private Extents trackPadding
-        {
             get
             {
-                if (null == _trackPadding)
-                {
-                    _trackPadding = new Extents((ushort start, ushort end, ushort top, ushort bottom)=>
-                                        {
-                                            Extents extents = new Extents(start, end, top, bottom);
-                                            _trackPadding.CopyFrom(extents);
-                                        }, 0, 0, 0, 0);
-                }
-                return _trackPadding;
+                Extents tmp = (Extents)GetValue(TrackPaddingProperty);
+                return (null != tmp) ? tmp : trackPadding = new Extents(OnTrackPaddingChanged, 0, 0, 0, 0);
             }
+            set => SetValue(TrackPaddingProperty, value);
         }
 
         /// <summary>
@@ -348,5 +338,10 @@ namespace Tizen.NUI.Components
             LowIndicator = new TextLabelStyle();
             HighIndicator = new TextLabelStyle();
         }
+
+        private void OnTrackPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            TrackPadding = new Extents(start, end, top, bottom);
+        }
     }
 }
index 699e051..e16e6fa 100755 (executable)
@@ -66,11 +66,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Thumb
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Thumb { get; set; }
 
         /// <summary>
         /// Track image's style.
@@ -78,11 +74,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ImageViewStyle Track
-        {
-            get;
-            set;
-        }
+        public ImageViewStyle Track { get; set; }
 
         /// <summary>
         /// Style's clone function.
index f438ab3..d084e8e 100755 (executable)
@@ -101,11 +101,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ViewStyle UnderLine
-        {
-            get;
-            set;
-        }
+        public ViewStyle UnderLine { get; set; }
 
         /// <summary>
         /// Text's attributes.
@@ -113,11 +109,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public TextLabelStyle Text
-        {
-            get;
-            set;
-        }
+        public TextLabelStyle Text { get; set; }
 
         /// <summary>
         /// Flag to decide if item is fill with item text's natural width.
@@ -125,11 +117,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool UseTextNaturalSize
-        {
-            get;
-            set;
-        }
+        public bool UseTextNaturalSize { get; set; }
 
         /// <summary>
         /// Gap between items.
@@ -137,11 +125,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public int ItemSpace
-        {
-            get;
-            set;
-        }
+        public int ItemSpace { get; set; }
 
         /// <summary>
         /// Space in Tab.
@@ -149,11 +133,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Extents ItemPadding
-        {
-            get;
-            set;
-        }
+        public Extents ItemPadding { get; set; }
 
         /// <summary>
         /// Attributes's clone function.
index aa7421a..b74249b 100755 (executable)
@@ -60,11 +60,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint? Duration
-        {
-            get;
-            set;
-        }
+        public uint? Duration { get; set; }
 
         /// <summary>
         /// Text's Style.
index 2c1070a..2982520 100755 (executable)
@@ -27,20 +27,13 @@ namespace Tizen.NUI.BaseComponents
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class ImageViewStyle : ViewStyle
     {
-        private bool? preMultipliedAlpha;
-        private RelativeVector4 pixelArea;
-        private bool? borderOnly;
-        private bool? synchronosLoading;
-        private bool? orientationCorrection;
-
-        static ImageViewStyle() { }
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty ResourceUrlSelectorProperty = BindableProperty.Create("ResourceUrlSelector", typeof(Selector<string>), typeof(ImageViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var imageViewStyle = (ImageViewStyle)bindable;
-            imageViewStyle.resourceUrlSelector.Clone((Selector<string>)newValue);
+            if (null == imageViewStyle.resourceUrlSelector) imageViewStyle.resourceUrlSelector = new Selector<string>();
+            imageViewStyle.resourceUrlSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -76,7 +69,8 @@ namespace Tizen.NUI.BaseComponents
         public static readonly BindableProperty BorderSelectorProperty = BindableProperty.Create("BorderSelector", typeof(Selector<Rectangle>), typeof(ImageViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var imageViewStyle = (ImageViewStyle)bindable;
-            imageViewStyle.borderSelector.Clone((Selector<Rectangle>)newValue);
+            if (null == imageViewStyle.borderSelector) imageViewStyle.borderSelector = new Selector<Rectangle>();
+            imageViewStyle.borderSelector.Clone(null == newValue ? new Selector<Rectangle>() : (Selector<Rectangle>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -120,82 +114,56 @@ namespace Tizen.NUI.BaseComponents
             return imageViewStyle.orientationCorrection;
         });
 
+        private bool? preMultipliedAlpha;
+        private RelativeVector4 pixelArea;
+        private bool? borderOnly;
+        private bool? synchronosLoading;
+        private bool? orientationCorrection;
+        private Selector<string> resourceUrlSelector;
+        private Selector<Rectangle> borderSelector;
+
+        static ImageViewStyle() { }
+
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? PreMultipliedAlpha
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(PreMultipliedAlphaProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PreMultipliedAlphaProperty, value);
-            }
+            get => (bool?)GetValue(PreMultipliedAlphaProperty);
+            set => SetValue(PreMultipliedAlphaProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public RelativeVector4 PixelArea
         {
-            get
-            {
-                RelativeVector4 temp = (RelativeVector4)GetValue(PixelAreaProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PixelAreaProperty, value);
-            }
+            get => (RelativeVector4)GetValue(PixelAreaProperty);
+            set => SetValue(PixelAreaProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? BorderOnly
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(BorderOnlyProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(BorderOnlyProperty, value);
-            }
+            get => (bool?)GetValue(BorderOnlyProperty);
+            set => SetValue(BorderOnlyProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? SynchronosLoading
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(SynchronosLoadingProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(SynchronosLoadingProperty, value);
-            }
+            get => (bool?)GetValue(SynchronosLoadingProperty);
+            set => SetValue(SynchronosLoadingProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? OrientationCorrection
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(OrientationCorrectionProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(OrientationCorrectionProperty, value);
-            }
+            get => (bool?)GetValue(OrientationCorrectionProperty);
+            set => SetValue(OrientationCorrectionProperty, value);
         }
 
-        private Selector<string> resourceUrlSelector = new Selector<string>();
         /// <summary>
         /// Image URL.
         /// </summary>
@@ -205,15 +173,12 @@ namespace Tizen.NUI.BaseComponents
         {
             get
             {
-                return (Selector<string>)GetValue(ResourceUrlSelectorProperty);
-            }
-            set
-            {
-                SetValue(ResourceUrlSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(ResourceUrlSelectorProperty);
+                return (null != tmp) ? tmp : resourceUrlSelector = new Selector<string>();
             }
+            set => SetValue(ResourceUrlSelectorProperty, value);
         }
 
-        private Selector<Rectangle> borderSelector = new Selector<Rectangle>();
         /// <summary>
         /// Image border.
         /// </summary>
@@ -223,12 +188,10 @@ namespace Tizen.NUI.BaseComponents
         {
             get
             {
-                return (Selector<Rectangle>)GetValue(BorderSelectorProperty);
-            }
-            set
-            {
-                SetValue(BorderSelectorProperty, value);
+                Selector<Rectangle> tmp = (Selector<Rectangle>)GetValue(BorderSelectorProperty);
+                return (null != tmp) ? tmp : borderSelector = new Selector<Rectangle>();
             }
+            set => SetValue(BorderSelectorProperty, value);
         }
     }
 }
index fde9657..4b90dbe 100755 (executable)
@@ -27,39 +27,6 @@ namespace Tizen.NUI.BaseComponents
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class TextFieldStyle : ViewStyle
     {
-        private string placeholderText;
-        private string placeholderTextFocused;
-        private int? maxLength;
-        private int? exceedPolicy;
-        private HorizontalAlignment? horizontalAlignment;
-        private VerticalAlignment? verticalAlignment;
-        private Vector4 secondaryCursorColor;
-        private bool? enableCursorBlink;
-        private float? cursorBlinkInterval;
-        private float? cursorBlinkDuration;
-        private int? cursorWidth;
-        private string grabHandleImage;
-        private string grabHandlePressedImage;
-        private float? scrollThreshold;
-        private float? scrollSpeed;
-        private Vector4 selectionHighlightColor;
-        private Rectangle decorationBoundingBox;
-        private Vector4 inputColor;
-        private bool? enableMarkup;
-        private string inputFontFamily;
-        private float? inputPointSize;
-        private string inputUnderline;
-        private string inputShadow;
-        private string emboss;
-        private string inputEmboss;
-        private string inputOutline;
-        private float? pixelSize;
-        private bool? enableSelection;
-        private bool? ellipsis;
-        private bool? matchSystemLanguageDirection;
-
-        static TextFieldStyle() { }
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextFieldStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
@@ -69,7 +36,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.translatableTextSelector = new Selector<string>();
             }
-            textFieldStyle.translatableTextSelector.Clone((Selector<string>)newValue);
+            textFieldStyle.translatableTextSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -85,7 +52,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.translatablePlaceholderTextSelector = new Selector<string>();
             }
-            textFieldStyle.translatablePlaceholderTextSelector.Clone((Selector<string>)newValue);
+            textFieldStyle.translatablePlaceholderTextSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -101,7 +68,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.textSelector = new Selector<string>();
             }
-            textFieldStyle.textSelector.Clone((Selector<string>)newValue);
+            textFieldStyle.textSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -117,7 +84,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.fontFamilySelector = new Selector<string>();
             }
-            textFieldStyle.fontFamilySelector.Clone((Selector<string>)newValue);
+            textFieldStyle.fontFamilySelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -133,7 +100,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.pointSizeSelector = new Selector<float?>();
             }
-            textFieldStyle.pointSizeSelector.Clone((Selector<float?>)newValue);
+            textFieldStyle.pointSizeSelector.Clone(null == newValue ? new Selector<float?>() : (Selector<float?>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -149,7 +116,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.textColorSelector = new Selector<Color>();
             }
-            textFieldStyle.textColorSelector.Clone((Selector<Color>)newValue);
+            textFieldStyle.textColorSelector.Clone(null == newValue ? new Selector<Color>() : (Selector<Color>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -165,7 +132,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.placeholderTextColorSelector = new Selector<Vector4>();
             }
-            textFieldStyle.placeholderTextColorSelector.Clone((Selector<Vector4>)newValue);
+            textFieldStyle.placeholderTextColorSelector.Clone(null == newValue ? new Selector<Vector4>() : (Selector<Vector4>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -181,7 +148,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 textFieldStyle.primaryCursorColorSelector = new Selector<Vector4>();
             }
-            textFieldStyle.primaryCursorColorSelector.Clone((Selector<Vector4>)newValue);
+            textFieldStyle.primaryCursorColorSelector.Clone(null == newValue ? new Selector<Vector4>() : (Selector<Vector4>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -550,562 +517,371 @@ namespace Tizen.NUI.BaseComponents
             return textFieldStyle.matchSystemLanguageDirection;
         });
 
+        private string placeholderText;
+        private string placeholderTextFocused;
+        private int? maxLength;
+        private int? exceedPolicy;
+        private HorizontalAlignment? horizontalAlignment;
+        private VerticalAlignment? verticalAlignment;
+        private Vector4 secondaryCursorColor;
+        private bool? enableCursorBlink;
+        private float? cursorBlinkInterval;
+        private float? cursorBlinkDuration;
+        private int? cursorWidth;
+        private string grabHandleImage;
+        private string grabHandlePressedImage;
+        private float? scrollThreshold;
+        private float? scrollSpeed;
+        private Vector4 selectionHighlightColor;
+        private Rectangle decorationBoundingBox;
+        private Vector4 inputColor;
+        private bool? enableMarkup;
+        private string inputFontFamily;
+        private float? inputPointSize;
+        private string inputUnderline;
+        private string inputShadow;
+        private string emboss;
+        private string inputEmboss;
+        private string inputOutline;
+        private float? pixelSize;
+        private bool? enableSelection;
+        private bool? ellipsis;
+        private bool? matchSystemLanguageDirection;
         private Selector<string> translatableTextSelector;
+        private Selector<string> translatablePlaceholderTextSelector;
+        private Selector<string> textSelector;
+        private Selector<string> fontFamilySelector;
+        private Selector<Color> textColorSelector;
+        private Selector<float?> pointSizeSelector;
+        private Selector<Vector4> placeholderTextColorSelector;
+        private Selector<Vector4> primaryCursorColorSelector;
+
+        static TextFieldStyle() { }
+
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> TranslatableText
         {
             get
             {
-                return (Selector<string>)GetValue(TranslatableTextSelectorProperty);
-            }
-            set
-            {
-                SetValue(TranslatableTextSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(TranslatableTextSelectorProperty);
+                return (null != tmp) ? tmp : translatableTextSelector = new Selector<string>();
             }
+            set => SetValue(TranslatableTextSelectorProperty, value);
         }
 
-        private Selector<string> translatablePlaceholderTextSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> TranslatablePlaceholderText
         {
             get
             {
-                return (Selector<string>)GetValue(TranslatablePlaceholderTextSelectorProperty);
-            }
-            set
-            {
-                SetValue(TranslatablePlaceholderTextSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(TranslatablePlaceholderTextSelectorProperty);
+                return (null != tmp) ? tmp : translatablePlaceholderTextSelector = new Selector<string>();
             }
+            set => SetValue(TranslatablePlaceholderTextSelectorProperty, value);
         }
 
-        private Selector<string> textSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> Text
         {
             get
             {
-                return (Selector<string>)GetValue(TextSelectorProperty);
-            }
-            set
-            {
-                SetValue(TextSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(TextSelectorProperty);
+                return (null != tmp) ? tmp : textSelector = new Selector<string>();
             }
+            set => SetValue(TextSelectorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string PlaceholderText
         {
-            get
-            {
-                string temp = (string)GetValue(PlaceholderTextProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PlaceholderTextProperty, value);
-            }
+            get => (string)GetValue(PlaceholderTextProperty);
+            set => SetValue(PlaceholderTextProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string PlaceholderTextFocused
         {
-            get
-            {
-                string temp = (string)GetValue(PlaceholderTextFocusedProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PlaceholderTextFocusedProperty, value);
-            }
+            get => (string)GetValue(PlaceholderTextFocusedProperty);
+            set => SetValue(PlaceholderTextFocusedProperty, value);
         }
 
-        private Selector<string> fontFamilySelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> FontFamily
         {
             get
             {
-                return (Selector<string>)GetValue(FontFamilySelectorProperty);
-            }
-            set
-            {
-                SetValue(FontFamilySelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(FontFamilySelectorProperty);
+                return (null != tmp) ? tmp : fontFamilySelector = new Selector<string>();
             }
+            set => SetValue(FontFamilySelectorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int? MaxLength
         {
-            get
-            {
-                int? temp = (int?)GetValue(MaxLengthProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(MaxLengthProperty, value);
-            }
+            get => (int?)GetValue(MaxLengthProperty);
+            set => SetValue(MaxLengthProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int? ExceedPolicy
         {
-            get
-            {
-                int? temp = (int?)GetValue(ExceedPolicyProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(ExceedPolicyProperty, value);
-            }
+            get => (int?)GetValue(ExceedPolicyProperty);
+            set => SetValue(ExceedPolicyProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public HorizontalAlignment? HorizontalAlignment
         {
-            get
-            {
-                HorizontalAlignment? temp = (HorizontalAlignment?)GetValue(HorizontalAlignmentProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(HorizontalAlignmentProperty, value);
-            }
+            get => (HorizontalAlignment?)GetValue(HorizontalAlignmentProperty);
+            set => SetValue(HorizontalAlignmentProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public VerticalAlignment? VerticalAlignment
         {
-            get
-            {
-                VerticalAlignment? temp = (VerticalAlignment?)GetValue(VerticalAlignmentProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(VerticalAlignmentProperty, value);
-            }
+            get => (VerticalAlignment?)GetValue(VerticalAlignmentProperty);
+            set => SetValue(VerticalAlignmentProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 SecondaryCursorColor
         {
-            get
-            {
-                Vector4 temp = (Vector4)GetValue(SecondaryCursorColorProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(SecondaryCursorColorProperty, value);
-            }
+            get => (Vector4)GetValue(SecondaryCursorColorProperty);
+            set => SetValue(SecondaryCursorColorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? EnableCursorBlink
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EnableCursorBlinkProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EnableCursorBlinkProperty, value);
-            }
+            get => (bool?)GetValue(EnableCursorBlinkProperty);
+            set => SetValue(EnableCursorBlinkProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? CursorBlinkInterval
         {
-            get
-            {
-                float? temp = (float?)GetValue(CursorBlinkIntervalProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(CursorBlinkIntervalProperty, value);
-            }
+            get => (float?)GetValue(CursorBlinkIntervalProperty);
+            set => SetValue(CursorBlinkIntervalProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? CursorBlinkDuration
         {
-            get
-            {
-                float? temp = (float?)GetValue(CursorBlinkDurationProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(CursorBlinkDurationProperty, value);
-            }
+            get => (float?)GetValue(CursorBlinkDurationProperty);
+            set => SetValue(CursorBlinkDurationProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int? CursorWidth
         {
-            get
-            {
-                int? temp = (int?)GetValue(CursorWidthProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(CursorWidthProperty, value);
-            }
+            get => (int?)GetValue(CursorWidthProperty);
+            set => SetValue(CursorWidthProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string GrabHandleImage
         {
-            get
-            {
-                string temp = (string)GetValue(GrabHandleImageProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(GrabHandleImageProperty, value);
-            }
+            get => (string)GetValue(GrabHandleImageProperty);
+            set => SetValue(GrabHandleImageProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string GrabHandlePressedImage
         {
-            get
-            {
-                string temp = (string)GetValue(GrabHandlePressedImageProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(GrabHandlePressedImageProperty, value);
-            }
+            get => (string)GetValue(GrabHandlePressedImageProperty);
+            set => SetValue(GrabHandlePressedImageProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? ScrollThreshold
         {
-            get
-            {
-                float? temp = (float?)GetValue(ScrollThresholdProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(ScrollThresholdProperty, value);
-            }
+            get => (float?)GetValue(ScrollThresholdProperty);
+            set => SetValue(ScrollThresholdProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? ScrollSpeed
         {
-            get
-            {
-                float? temp = (float?)GetValue(ScrollSpeedProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(ScrollSpeedProperty, value);
-            }
+            get => (float?)GetValue(ScrollSpeedProperty);
+            set => SetValue(ScrollSpeedProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 SelectionHighlightColor
         {
-            get
-            {
-                Vector4 temp = (Vector4)GetValue(SelectionHighlightColorProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(SelectionHighlightColorProperty, value);
-            }
+            get => (Vector4)GetValue(SelectionHighlightColorProperty);
+            set => SetValue(SelectionHighlightColorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Rectangle DecorationBoundingBox
         {
-            get
-            {
-                Rectangle temp = (Rectangle)GetValue(DecorationBoundingBoxProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(DecorationBoundingBoxProperty, value);
-            }
+            get => (Rectangle)GetValue(DecorationBoundingBoxProperty);
+            set => SetValue(DecorationBoundingBoxProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 InputColor
         {
-            get
-            {
-                Vector4 temp = (Vector4)GetValue(InputColorProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputColorProperty, value);
-            }
+            get => (Vector4)GetValue(InputColorProperty);
+            set => SetValue(InputColorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? EnableMarkup
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EnableMarkupProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EnableMarkupProperty, value);
-            }
+            get => (bool?)GetValue(EnableMarkupProperty);
+            set => SetValue(EnableMarkupProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string InputFontFamily
         {
-            get
-            {
-                string temp = (string)GetValue(InputFontFamilyProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputFontFamilyProperty, value);
-            }
+            get => (string)GetValue(InputFontFamilyProperty);
+            set => SetValue(InputFontFamilyProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? InputPointSize
         {
-            get
-            {
-                float? temp = (float?)GetValue(InputPointSizeProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputPointSizeProperty, value);
-            }
+            get => (float?)GetValue(InputPointSizeProperty);
+            set => SetValue(InputPointSizeProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string InputUnderline
         {
-            get
-            {
-                string temp = (string)GetValue(InputUnderlineProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputUnderlineProperty, value);
-            }
+            get => (string)GetValue(InputUnderlineProperty);
+            set => SetValue(InputUnderlineProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string InputShadow
         {
-            get
-            {
-                string temp = (string)GetValue(InputShadowProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputShadowProperty, value);
-            }
+            get => (string)GetValue(InputShadowProperty);
+            set => SetValue(InputShadowProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string Emboss
         {
-            get
-            {
-                string temp = (string)GetValue(EmbossProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EmbossProperty, value);
-            }
+            get => (string)GetValue(EmbossProperty);
+            set => SetValue(EmbossProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string InputEmboss
         {
-            get
-            {
-                string temp = (string)GetValue(InputEmbossProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputEmbossProperty, value);
-            }
+            get => (string)GetValue(InputEmbossProperty);
+            set => SetValue(InputEmbossProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string InputOutline
         {
-            get
-            {
-                string temp = (string)GetValue(InputOutlineProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(InputOutlineProperty, value);
-            }
+            get => (string)GetValue(InputOutlineProperty);
+            set => SetValue(InputOutlineProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? PixelSize
         {
-            get
-            {
-                float? temp = (float?)GetValue(PixelSizeProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PixelSizeProperty, value);
-            }
+            get => (float?)GetValue(PixelSizeProperty);
+            set => SetValue(PixelSizeProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? EnableSelection
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EnableSelectionProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EnableSelectionProperty, value);
-            }
+            get => (bool?)GetValue(EnableSelectionProperty);
+            set => SetValue(EnableSelectionProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? Ellipsis
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EllipsisProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EllipsisProperty, value);
-            }
+            get => (bool?)GetValue(EllipsisProperty);
+            set => SetValue(EllipsisProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? MatchSystemLanguageDirection
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(MatchSystemLanguageDirectionProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(MatchSystemLanguageDirectionProperty, value);
-            }
+            get => (bool?)GetValue(MatchSystemLanguageDirectionProperty);
+            set => SetValue(MatchSystemLanguageDirectionProperty, value);
         }
 
-        private Selector<Color> textColorSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<Color> TextColor
         {
             get
             {
-                return (Selector<Color>)GetValue(TextColorSelectorProperty);
-            }
-            set
-            {
-                SetValue(TextColorSelectorProperty, value);
+                Selector<Color> tmp = (Selector<Color>)GetValue(TextColorSelectorProperty);
+                return (null != tmp) ? tmp : textColorSelector = new Selector<Color>();
             }
+            set => SetValue(TextColorSelectorProperty, value);
         }
 
-        private Selector<float?> pointSizeSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<float?> PointSize
         {
             get
             {
-                return (Selector<float?>)GetValue(PointSizeSelectorProperty);
-            }
-            set
-            {
-                SetValue(PointSizeSelectorProperty, value);
+                Selector<float?> tmp = (Selector<float?>)GetValue(PointSizeSelectorProperty);
+                return (null != tmp) ? tmp : pointSizeSelector = new Selector<float?>();
             }
+            set => SetValue(PointSizeSelectorProperty, value);
         }
 
-        private Selector<Vector4> placeholderTextColorSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<Vector4> PlaceholderTextColor
         {
             get
             {
-                return (Selector<Vector4>)GetValue(PlaceholderTextColorSelectorProperty);
-            }
-            set
-            {
-                SetValue(PlaceholderTextColorSelectorProperty, value);
+                Selector<Vector4> tmp = (Selector<Vector4>)GetValue(PlaceholderTextColorSelectorProperty);
+                return (null != tmp) ? tmp : placeholderTextColorSelector = new Selector<Vector4>();
             }
+            set => SetValue(PlaceholderTextColorSelectorProperty, value);
         }
 
-        private Selector<Vector4> primaryCursorColorSelector;
         /// <summary>
         /// Gets or sets primary cursor color.
         /// </summary>
@@ -1116,12 +892,10 @@ namespace Tizen.NUI.BaseComponents
         {
             get
             {
-                return (Selector<Vector4>)GetValue(PrimaryCursorColorSelectorProperty);
-            }
-            set
-            {
-                SetValue(PrimaryCursorColorSelectorProperty, value);
+                Selector<Vector4> tmp = (Selector<Vector4>)GetValue(PrimaryCursorColorSelectorProperty);
+                return (null != tmp) ? tmp : primaryCursorColorSelector = new Selector<Vector4>();
             }
+            set => SetValue(PrimaryCursorColorSelectorProperty, value);
         }
     }
 }
index 4facd3d..a5a9aa5 100755 (executable)
@@ -27,85 +27,70 @@ namespace Tizen.NUI.BaseComponents
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class TextLabelStyle : ViewStyle
     {
-        private bool? multiLine;
-        private HorizontalAlignment? horizontalAlignment;
-        private VerticalAlignment? verticalAlignment;
-        private bool? enableMarkup;
-        private bool? enableAutoScroll;
-        private int? autoScrollSpeed;
-        private int? autoScrollLoopCount;
-        private float? autoScrollGap;
-        private float? lineSpacing;
-        private string emboss;
-        private float? pixelSize;
-        private bool? ellipsis;
-        private float? autoScrollLoopDelay;
-        private AutoScrollStopMode? autoScrollStopMode;
-        private LineWrapMode? lineWrapMode;
-        private VerticalLineAlignment? verticalLineAlignment;
-        private bool? matchSystemLanguageDirection;
-
-        static TextLabelStyle() { }
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create(nameof(TranslatableTextSelector), typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            textFieldStyle.TranslatableTextSelector.Clone((Selector<string>)newValue);
+            if (null == textFieldStyle.translatableTextSelector) textFieldStyle.translatableTextSelector = new Selector<string>();
+            textFieldStyle.translatableTextSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            return textFieldStyle.TranslatableTextSelector;
+            return textFieldStyle.translatableTextSelector;
         });
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextSelectorProperty = BindableProperty.Create(nameof(TextSelector), typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextSelectorProperty = BindableProperty.Create("TextSelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            textFieldStyle.TextSelector.Clone((Selector<string>)newValue);
+            if (null == textFieldStyle.textSelector) textFieldStyle.textSelector = new Selector<string>();
+            textFieldStyle.textSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            return textFieldStyle.TextSelector;
+            return textFieldStyle.textSelector;
         });
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create(nameof(FontFamilySelector), typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create("FontFamilySelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            textFieldStyle.FontFamilySelector.Clone((Selector<string>)newValue);
+            if (null == textFieldStyle.fontFamilySelector) textFieldStyle.fontFamilySelector = new Selector<string>();
+            textFieldStyle.fontFamilySelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            return textFieldStyle.FontFamilySelector;
+            return textFieldStyle.fontFamilySelector;
         });
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create(nameof(PointSizeSelector), typeof(Selector<float?>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create("PointSizeSelector", typeof(Selector<float?>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            textFieldStyle.PointSizeSelector.Clone((Selector<float?>)newValue);
+            if (null == textFieldStyle.pointSizeSelector) textFieldStyle.pointSizeSelector = new Selector<float?>();
+            textFieldStyle.pointSizeSelector.Clone(null == newValue ? new Selector<float?>() : (Selector<float?>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            return textFieldStyle.PointSizeSelector;
+            return textFieldStyle.pointSizeSelector;
         });
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create(nameof(TextColorSelector), typeof(Selector<Color>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create("TextColorSelector", typeof(Selector<Color>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            textFieldStyle.TextColorSelector.Clone((Selector<Color>)newValue);
+            if (null == textFieldStyle.textColorSelector) textFieldStyle.textColorSelector = new Selector<Color>();
+            textFieldStyle.textColorSelector.Clone(null == newValue ? new Selector<Color>() : (Selector<Color>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
             var textFieldStyle = (TextLabelStyle)bindable;
-            return textFieldStyle.TextColorSelector;
+            return textFieldStyle.textColorSelector;
         });
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
@@ -313,389 +298,225 @@ namespace Tizen.NUI.BaseComponents
             return textLabelStyle.matchSystemLanguageDirection;
         });
 
+        private bool? multiLine;
+        private HorizontalAlignment? horizontalAlignment;
+        private VerticalAlignment? verticalAlignment;
+        private bool? enableMarkup;
+        private bool? enableAutoScroll;
+        private int? autoScrollSpeed;
+        private int? autoScrollLoopCount;
+        private float? autoScrollGap;
+        private float? lineSpacing;
+        private string emboss;
+        private float? pixelSize;
+        private bool? ellipsis;
+        private float? autoScrollLoopDelay;
+        private AutoScrollStopMode? autoScrollStopMode;
+        private LineWrapMode? lineWrapMode;
+        private VerticalLineAlignment? verticalLineAlignment;
+        private bool? matchSystemLanguageDirection;
         private Selector<string> translatableTextSelector;
-        private Selector<string> TranslatableTextSelector
-        {
-            get
-            {
-                if (null == translatableTextSelector)
-                {
-                    translatableTextSelector = new Selector<string>();
-                }
-                return translatableTextSelector;
-            }
-        }
+        private Selector<string> fontFamilySelector;
+        private Selector<string> textSelector;
+        private Selector<Color> textColorSelector;
+        private Selector<float?> pointSizeSelector;
+
+        static TextLabelStyle() { }
+
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> TranslatableText
         {
             get
             {
-                return (Selector<string>)GetValue(TranslatableTextSelectorProperty);
-            }
-            set
-            {
-                SetValue(TranslatableTextSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(TranslatableTextSelectorProperty);
+                return (null != tmp) ? tmp : translatableTextSelector = new Selector<string>();
             }
+            set => SetValue(TranslatableTextSelectorProperty, value);
         }
 
-        private Selector<string> fontFamilySelector;
-        private Selector<string> FontFamilySelector
-        {
-            get
-            {
-                if (null == fontFamilySelector)
-                {
-                    fontFamilySelector = new Selector<string>();
-                }
-                return fontFamilySelector;
-            }
-        }
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> FontFamily
         {
             get
             {
-                return (Selector<string>)GetValue(FontFamilySelectorProperty);
-            }
-            set
-            {
-                SetValue(FontFamilySelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(FontFamilySelectorProperty);
+                return (null != tmp) ? tmp : fontFamilySelector = new Selector<string>();
             }
+            set => SetValue(FontFamilySelectorProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? MultiLine
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(MultiLineProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(MultiLineProperty, value);
-            }
+            get => (bool?)GetValue(MultiLineProperty);
+            set => SetValue(MultiLineProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public HorizontalAlignment? HorizontalAlignment
         {
-            get
-            {
-                HorizontalAlignment? temp = (HorizontalAlignment?)GetValue(HorizontalAlignmentProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(HorizontalAlignmentProperty, value);
-            }
+            get => (HorizontalAlignment?)GetValue(HorizontalAlignmentProperty);
+            set => SetValue(HorizontalAlignmentProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public VerticalAlignment? VerticalAlignment
         {
-            get
-            {
-                VerticalAlignment? temp = (VerticalAlignment?)GetValue(VerticalAlignmentProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(VerticalAlignmentProperty, value);
-            }
+            get => (VerticalAlignment?)GetValue(VerticalAlignmentProperty);
+            set => SetValue(VerticalAlignmentProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? EnableMarkup
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EnableMarkupProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EnableMarkupProperty, value);
-            }
+            get => (bool?)GetValue(EnableMarkupProperty);
+            set => SetValue(EnableMarkupProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? EnableAutoScroll
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EnableAutoScrollProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EnableAutoScrollProperty, value);
-            }
+            get => (bool?)GetValue(EnableAutoScrollProperty);
+            set => SetValue(EnableAutoScrollProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int? AutoScrollSpeed
         {
-            get
-            {
-                int? temp = (int?)GetValue(AutoScrollSpeedProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(AutoScrollSpeedProperty, value);
-            }
+            get => (int?)GetValue(AutoScrollSpeedProperty);
+            set => SetValue(AutoScrollSpeedProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int? AutoScrollLoopCount
         {
-            get
-            {
-                int? temp = (int?)GetValue(AutoScrollLoopCountProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(AutoScrollLoopCountProperty, value);
-            }
+            get => (int?)GetValue(AutoScrollLoopCountProperty);
+            set => SetValue(AutoScrollLoopCountProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? AutoScrollGap
         {
-            get
-            {
-                float? temp = (float?)GetValue(AutoScrollGapProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(AutoScrollGapProperty, value);
-            }
+            get => (float?)GetValue(AutoScrollGapProperty);
+            set => SetValue(AutoScrollGapProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? LineSpacing
         {
-            get
-            {
-                float? temp = (float?)GetValue(LineSpacingProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(LineSpacingProperty, value);
-            }
+            get => (float?)GetValue(LineSpacingProperty);
+            set => SetValue(LineSpacingProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string Emboss
         {
-            get
-            {
-                string temp = (string)GetValue(EmbossProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EmbossProperty, value);
-            }
+            get => (string)GetValue(EmbossProperty);
+            set => SetValue(EmbossProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? PixelSize
         {
-            get
-            {
-                float? temp = (float?)GetValue(PixelSizeProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(PixelSizeProperty, value);
-            }
+            get => (float?)GetValue(PixelSizeProperty);
+            set => SetValue(PixelSizeProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? Ellipsis
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(EllipsisProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(EllipsisProperty, value);
-            }
+            get => (bool?)GetValue(EllipsisProperty);
+            set => SetValue(EllipsisProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float? AutoScrollLoopDelay
         {
-            get
-            {
-                float? temp = (float?)GetValue(AutoScrollLoopDelayProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(AutoScrollLoopDelayProperty, value);
-            }
+            get => (float?)GetValue(AutoScrollLoopDelayProperty);
+            set => SetValue(AutoScrollLoopDelayProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public AutoScrollStopMode? AutoScrollStopMode
         {
-            get
-            {
-                AutoScrollStopMode? temp = (AutoScrollStopMode?)GetValue(AutoScrollStopModeProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(AutoScrollStopModeProperty, value);
-            }
+            get => (AutoScrollStopMode?)GetValue(AutoScrollStopModeProperty);
+            set => SetValue(AutoScrollStopModeProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public LineWrapMode? LineWrapMode
         {
-            get
-            {
-                LineWrapMode? temp = (LineWrapMode?)GetValue(LineWrapModeProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(LineWrapModeProperty, value);
-            }
+            get => (LineWrapMode?)GetValue(LineWrapModeProperty);
+            set => SetValue(LineWrapModeProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public VerticalLineAlignment? VerticalLineAlignment
         {
-            get
-            {
-                VerticalLineAlignment? temp = (VerticalLineAlignment?)GetValue(VerticalLineAlignmentProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(VerticalLineAlignmentProperty, value);
-            }
+            get => (VerticalLineAlignment?)GetValue(VerticalLineAlignmentProperty);
+            set => SetValue(VerticalLineAlignmentProperty, value);
         }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool? MatchSystemLanguageDirection
         {
-            get
-            {
-                bool? temp = (bool?)GetValue(MatchSystemLanguageDirectionProperty);
-                return temp;
-            }
-            set
-            {
-                SetValue(MatchSystemLanguageDirectionProperty, value);
-            }
+            get => (bool?)GetValue(MatchSystemLanguageDirectionProperty);
+            set => SetValue(MatchSystemLanguageDirectionProperty, value);
         }
 
-        private Selector<string> textSelector;
-        private Selector<string> TextSelector
-        {
-            get
-            {
-                if (null == textSelector)
-                {
-                    textSelector = new Selector<string>();
-                }
-                return textSelector;
-            }
-        }
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> Text
         {
             get
             {
-                return (Selector<string>)GetValue(TextSelectorProperty);
-            }
-            set
-            {
-                SetValue(TextSelectorProperty, value);
+                Selector<string> tmp = (Selector<string>)GetValue(TextSelectorProperty);
+                return (null != tmp) ? tmp : textSelector = new Selector<string>();
             }
+            set => SetValue(TextSelectorProperty, value);
         }
 
-        private Selector<Color> textColorSelector;
-        private Selector<Color> TextColorSelector
-        {
-            get
-            {
-                if (null == textColorSelector)
-                {
-                    textColorSelector = new Selector<Color>();
-                }
-                return textColorSelector;
-            }
-        }
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<Color> TextColor
         {
             get
             {
-                return (Selector<Color>)GetValue(TextColorSelectorProperty);
-            }
-            set
-            {
-                SetValue(TextColorSelectorProperty, value);
+                Selector<Color> tmp = (Selector<Color>)GetValue(TextColorSelectorProperty);
+                return (null != tmp) ? tmp : textColorSelector = new Selector<Color>();
             }
+            set => SetValue(TextColorSelectorProperty, value);
         }
 
-        private Selector<float?> pointSizeSelector;
-        private Selector<float?> PointSizeSelector
-        {
-            get
-            {
-                if (null == pointSizeSelector)
-                {
-                    pointSizeSelector = new Selector<float?>();
-                }
-                return pointSizeSelector;
-            }
-        }
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<float?> PointSize
         {
             get
             {
-                return (Selector<float?>)GetValue(PointSizeSelectorProperty);
-            }
-            set
-            {
-                SetValue(PointSizeSelectorProperty, value);
+                Selector<float?> tmp = (Selector<float?>)GetValue(PointSizeSelectorProperty);
+                return (null != tmp) ? tmp : pointSizeSelector = new Selector<float?>();
             }
+            set => SetValue(PointSizeSelectorProperty, value);
         }
     }
 }
index 92b5929..a07c71b 100755 (executable)
@@ -28,69 +28,6 @@ namespace Tizen.NUI.BaseComponents
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class ViewStyle : BindableObject
     {
-        private string styleName;
-        private string backgroundImage;
-        private View.States? state;
-        private View.States? subState;
-        private float? flex;
-        private int? alignSelf;
-        private Vector4 flexMargin;
-        private Vector2 cellIndex;
-        private float? rowSpan;
-        private float? columnSpan;
-        private HorizontalAlignmentType? cellHorizontalAlignment;
-        private VerticalAlignmentType? cellVerticalAlignment;
-        private View leftFocusableView;
-        private View rightFocusableView;
-        private View upFocusableView;
-        private View downFocusableView;
-        private bool? focusable;
-        private Size2D size2D;
-        private Position2D position2D;
-        private bool? positionUsesPivotPoint;
-        private int? siblingOrder;
-        private Position parentOrigin;
-        private Position pivotPoint;
-        private float? sizeWidth;
-        private float? sizeHeight;
-        private Position position;
-        private float? positionX;
-        private float? positionY;
-        private float? positionZ;
-        private Rotation orientation;
-        private Vector3 scale;
-        private float? scaleX;
-        private float? scaleY;
-        private float? scaleZ;
-        private string name;
-        private bool? sensitive;
-        private bool? leaveRequired;
-        private bool? inheritOrientation;
-        private bool? inheritScale;
-        private DrawModeType? drawMode;
-        private Vector3 sizeModeFactor;
-        private ResizePolicyType? widthResizePolicy;
-        private ResizePolicyType? heightResizePolicy;
-        private SizeScalePolicyType? sizeScalePolicy;
-        private bool? widthForHeight;
-        private bool? heightForWidth;
-        private Extents padding;
-        private Size2D minimumSize;
-        private Size2D maximumSize;
-        private bool? inheritPosition;
-        private ClippingModeType? clippingMode;
-        private Size size;
-        private bool? inheritLayoutDirection;
-        private ViewLayoutDirectionType? layoutDirection;
-        private Extents margin;
-        private float? weight;
-
-        private Selector<ImageShadow> imageShadow;
-
-        private Selector<Shadow> boxShadow;
-
-        static ViewStyle() {}
-
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
@@ -109,7 +46,7 @@ namespace Tizen.NUI.BaseComponents
         {
             var viewStyle = (ViewStyle)bindable;
             if (null == viewStyle.backgroundImageSelector) viewStyle.backgroundImageSelector = new Selector<string>();
-            viewStyle.backgroundImageSelector.Clone((Selector<string>)newValue);
+            viewStyle.backgroundImageSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -314,7 +251,7 @@ namespace Tizen.NUI.BaseComponents
         {
             var viewStyle = (ViewStyle)bindable;
             if (null == viewStyle.opacitySelector) viewStyle.opacitySelector = new Selector<float?>();
-            viewStyle.opacitySelector.Clone((Selector<float?>)newValue);
+            viewStyle.opacitySelector.Clone(null == newValue ? new Selector<float?>() : (Selector<float?>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -662,7 +599,8 @@ namespace Tizen.NUI.BaseComponents
         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var viewStyle = (ViewStyle)bindable;
-            viewStyle.padding = (Extents)newValue;
+            if (null == viewStyle.padding) viewStyle.padding = new Extents(viewStyle.OnPaddingChanged, 0, 0, 0, 0);
+            viewStyle.padding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -758,7 +696,8 @@ namespace Tizen.NUI.BaseComponents
         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var viewStyle = (ViewStyle)bindable;
-            viewStyle.margin = (Extents)newValue;
+            if (null == viewStyle.margin) viewStyle.margin = new Extents(viewStyle.OnMarginChanged, 0, 0, 0, 0);
+            viewStyle.margin.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -783,7 +722,7 @@ namespace Tizen.NUI.BaseComponents
         {
             var viewStyle = (ViewStyle)bindable;
             if (null == viewStyle.backgroundColorSelector) viewStyle.backgroundColorSelector = new Selector<Color>();
-            viewStyle.backgroundColorSelector.Clone((Selector<Color>)newValue);
+            viewStyle.backgroundColorSelector.Clone(null == newValue ? new Selector<Color>() : (Selector<Color>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -797,7 +736,7 @@ namespace Tizen.NUI.BaseComponents
             var viewStyle = (ViewStyle)bindable;
             if (null == viewStyle.backgroundImageBorderSelector) viewStyle.backgroundImageBorderSelector = new Selector<Rectangle>();
 
-            viewStyle.backgroundImageBorderSelector.Clone(newValue == null ? new Rectangle() : (Selector<Rectangle>)newValue);
+            viewStyle.backgroundImageBorderSelector.Clone(newValue == null ? new Selector<Rectangle>() : (Selector<Rectangle>)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -831,11 +770,75 @@ namespace Tizen.NUI.BaseComponents
             return viewStyle.boxShadow;
         });
 
+        private string styleName;
+        private string backgroundImage;
+        private View.States? state;
+        private View.States? subState;
+        private float? flex;
+        private int? alignSelf;
+        private Vector4 flexMargin;
+        private Vector2 cellIndex;
+        private float? rowSpan;
+        private float? columnSpan;
+        private HorizontalAlignmentType? cellHorizontalAlignment;
+        private VerticalAlignmentType? cellVerticalAlignment;
+        private View leftFocusableView;
+        private View rightFocusableView;
+        private View upFocusableView;
+        private View downFocusableView;
+        private bool? focusable;
+        private Size2D size2D;
+        private Position2D position2D;
+        private bool? positionUsesPivotPoint;
+        private int? siblingOrder;
+        private Position parentOrigin;
+        private Position pivotPoint;
+        private float? sizeWidth;
+        private float? sizeHeight;
+        private Position position;
+        private float? positionX;
+        private float? positionY;
+        private float? positionZ;
+        private Rotation orientation;
+        private Vector3 scale;
+        private float? scaleX;
+        private float? scaleY;
+        private float? scaleZ;
+        private string name;
+        private bool? sensitive;
+        private bool? leaveRequired;
+        private bool? inheritOrientation;
+        private bool? inheritScale;
+        private DrawModeType? drawMode;
+        private Vector3 sizeModeFactor;
+        private ResizePolicyType? widthResizePolicy;
+        private ResizePolicyType? heightResizePolicy;
+        private SizeScalePolicyType? sizeScalePolicy;
+        private bool? widthForHeight;
+        private bool? heightForWidth;
+        private Extents padding;
+        private Size2D minimumSize;
+        private Size2D maximumSize;
+        private bool? inheritPosition;
+        private ClippingModeType? clippingMode;
+        private Size size;
+        private bool? inheritLayoutDirection;
+        private ViewLayoutDirectionType? layoutDirection;
+        private Extents margin;
+        private float? weight;
+
+        private Selector<ImageShadow> imageShadow;
+        private Selector<Shadow> boxShadow;
+        private Selector<string> backgroundImageSelector;
+        private Selector<float?> opacitySelector;
+        private Selector<Color> backgroundColorSelector;
+        private Selector<Rectangle> backgroundImageBorderSelector;
+
+        static ViewStyle() {}
+
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ViewStyle()
-        {
-        }
+        public ViewStyle() { }
 
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -855,7 +858,6 @@ namespace Tizen.NUI.BaseComponents
             set => SetValue(StyleNameProperty, value);
         }
 
-        private Selector<string> backgroundImageSelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> BackgroundImage
@@ -996,7 +998,6 @@ namespace Tizen.NUI.BaseComponents
             set => SetValue(Size2DProperty, value);
         }
 
-        private Selector<float?> opacitySelector;
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<float?> Opacity
@@ -1240,7 +1241,7 @@ namespace Tizen.NUI.BaseComponents
             get
             {
                 Extents tmp = (Extents)GetValue(PaddingProperty);
-                return (null != tmp) ? tmp : padding = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { Padding = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != tmp) ? tmp : padding = new Extents(OnPaddingChanged, 0, 0, 0, 0);
             }
             set => SetValue(PaddingProperty, value);
         }
@@ -1312,7 +1313,7 @@ namespace Tizen.NUI.BaseComponents
             get
             {
                 Extents tmp = (Extents)GetValue(MarginProperty);
-                return (null != tmp) ? tmp : margin = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { Margin = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
+                return (null != tmp) ? tmp : margin = new Extents(OnMarginChanged, 0, 0, 0, 0);
             }
             set => SetValue(MarginProperty, value);
         }
@@ -1325,7 +1326,6 @@ namespace Tizen.NUI.BaseComponents
             set => SetValue(WeightProperty, value);
         }
 
-        private Selector<Color> backgroundColorSelector;
         /// <summary> View BackgroundColor </summary>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -1338,7 +1338,7 @@ namespace Tizen.NUI.BaseComponents
             }
             set => SetValue(BackgroundColorSelectorProperty, value);
         }
-        private Selector<Rectangle> backgroundImageBorderSelector;
+
         /// <summary>View BackgroundBorder</summary>
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -1379,5 +1379,15 @@ namespace Tizen.NUI.BaseComponents
             get => (Selector<Shadow>)GetValue(BoxShadowProperty);
             set => SetValue(BoxShadowProperty, value);
         }
+
+        private void OnPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            Padding = new Extents(start, end, top, bottom);
+        }
+
+        private void OnMarginChanged(ushort start, ushort end, ushort top, ushort bottom)
+        {
+            Margin = new Extents(start, end, top, bottom);
+        }
     }
 }