[NUI] Add bindable properties to Components.
authorFang Xiaohui <xiaohui.fang@samsung.com>
Wed, 13 Oct 2021 06:53:46 +0000 (14:53 +0800)
committerhuiyu <35286162+huiyueun@users.noreply.github.com>
Mon, 29 Nov 2021 08:55:55 +0000 (17:55 +0900)
49 files changed:
src/Tizen.NUI.Components/Controls/AlertDialog.cs
src/Tizen.NUI.Components/Controls/AlertDialogBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Button.cs
src/Tizen.NUI.Components/Controls/ButtonBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Control.cs
src/Tizen.NUI.Components/Controls/DatePicker.cs
src/Tizen.NUI.Components/Controls/Dialog.cs [changed mode: 0644->0755]
src/Tizen.NUI.Components/Controls/FlexibleView/FlexibleView.cs
src/Tizen.NUI.Components/Controls/ImageScrollBar.cs
src/Tizen.NUI.Components/Controls/Loading.cs
src/Tizen.NUI.Components/Controls/Menu.cs
src/Tizen.NUI.Components/Controls/MenuBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Navigation/AppBar.cs
src/Tizen.NUI.Components/Controls/Navigation/AppBarBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Navigation/ContentPage.cs
src/Tizen.NUI.Components/Controls/Navigation/ContentPageBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Navigation/DialogPage.cs
src/Tizen.NUI.Components/Controls/Navigation/DialogPageBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Navigation/Navigator.cs
src/Tizen.NUI.Components/Controls/Navigation/Page.cs
src/Tizen.NUI.Components/Controls/Pagination.cs
src/Tizen.NUI.Components/Controls/PaginationBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Picker.cs
src/Tizen.NUI.Components/Controls/PickerBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Popup.cs
src/Tizen.NUI.Components/Controls/PopupBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Progress.cs
src/Tizen.NUI.Components/Controls/ProgressBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/RecyclerView/CollectionView.cs
src/Tizen.NUI.Components/Controls/RecyclerView/CollectionViewBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultLinearItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultLinearItemBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultTitleItem.cs
src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultTitleItemBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/RecyclerView/RecyclerView.cs
src/Tizen.NUI.Components/Controls/ScrollBarBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/ScrollableBase.cs
src/Tizen.NUI.Components/Controls/ScrollableBaseBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Slider.cs
src/Tizen.NUI.Components/Controls/SliderBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Switch.cs [changed mode: 0644->0755]
src/Tizen.NUI.Components/Controls/SwitchBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/Tab.cs
src/Tizen.NUI.Components/Controls/TabBindableProperty.cs [new file with mode: 0755]
src/Tizen.NUI.Components/Controls/TimePicker.cs
src/Tizen.NUI.Components/Controls/Toast.cs
src/Tizen.NUI.Components/Controls/ToastBindableProperty.cs [new file with mode: 0755]

index 9e3a600..216acbe 100755 (executable)
@@ -26,7 +26,7 @@ namespace Tizen.NUI.Components
     /// AlertDialog class shows a dialog with title, message and action buttons.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class AlertDialog : Control
+    public partial class AlertDialog : Control
     {
         private string title = null;
         private string message = null;
@@ -163,6 +163,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TitleProperty) as string;
+            }
+            set
+            {
+                SetValue(TitleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTitle
+        {
+            get
+            {
                 return title;
             }
             set
@@ -192,6 +204,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TitleContentProperty) as View;
+            }
+            set
+            {
+                SetValue(TitleContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalTitleContent
+        {
+            get
+            {
                 return titleContent;
             }
             set
@@ -231,6 +255,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(MessageProperty) as string;
+            }
+            set
+            {
+                SetValue(MessageProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalMessage
+        {
+            get
+            {
                 return message;
             }
             set
@@ -260,6 +296,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
+        {
+            get
+            {
                 return content;
             }
             set
@@ -342,6 +390,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 9 </since_tizen>
         public View ActionContent
         {
+            get
+            {
+                return GetValue(ActionContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ActionContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalActionContent
+        {
              get
              {
                 return actionContent;
diff --git a/src/Tizen.NUI.Components/Controls/AlertDialogBindableProperty.cs b/src/Tizen.NUI.Components/Controls/AlertDialogBindableProperty.cs
new file mode 100755 (executable)
index 0000000..d25c68d
--- /dev/null
@@ -0,0 +1,99 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class AlertDialog
+    {
+        /// <summary>
+        /// TitleProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleProperty = BindableProperty.Create(nameof(Title), typeof(string), typeof(AlertDialog), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AlertDialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitle = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AlertDialog)bindable;
+            return instance.InternalTitle;
+        });
+
+        /// <summary>
+        /// TitleContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleContentProperty = BindableProperty.Create(nameof(TitleContent), typeof(View), typeof(AlertDialog), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AlertDialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AlertDialog)bindable;
+            return instance.InternalTitleContent;
+        });
+
+        /// <summary>
+        /// MessageProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MessageProperty = BindableProperty.Create(nameof(Message), typeof(string), typeof(AlertDialog), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AlertDialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalMessage = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AlertDialog)bindable;
+            return instance.InternalMessage;
+        });
+
+        /// <summary>
+        /// ContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContentProperty = BindableProperty.Create(nameof(Content), typeof(View), typeof(AlertDialog), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AlertDialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AlertDialog)bindable;
+            return instance.InternalContent;
+        });
+
+        /// <summary>
+        /// ActionContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ActionContentProperty = BindableProperty.Create(nameof(ActionContent), typeof(View), typeof(AlertDialog), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AlertDialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalActionContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AlertDialog)bindable;
+            return instance.InternalActionContent;
+        });
+    }
+}
index 05cec8e..d6e8305 100755 (executable)
@@ -356,6 +356,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
+        {
+            get
+            {
                 return TextLabel.Text;
             }
             set
@@ -393,6 +405,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TranslatableTextProperty) as string;
+            }
+            set
+            {
+                SetValue(TranslatableTextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTranslatableText
+        {
+            get
+            {
                 return TextLabel.TranslatableText;
             }
             set
@@ -409,6 +433,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
+        {
+            get
+            {
                 return TextLabel.PointSize;
             }
             set
@@ -425,6 +461,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
+        {
+            get
+            {
                 return TextLabel.FontFamily;
             }
             set
@@ -441,6 +489,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
+        {
+            get
+            {
                 return TextLabel.TextColor;
             }
             set
@@ -457,6 +517,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (HorizontalAlignment)GetValue(TextAlignmentProperty);
+            }
+            set
+            {
+                SetValue(TextAlignmentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private HorizontalAlignment InternalTextAlignment
+        {
+            get
+            {
                 return TextLabel.HorizontalAlignment;
             }
             set
@@ -473,6 +545,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(IconURLProperty) as string;
+            }
+            set
+            {
+                SetValue(IconURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalIconURL
+        {
+            get
+            {
                 return Icon.ResourceUrl;
             }
             set
@@ -487,6 +571,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Size IconSize
         {
+            get
+            {
+                return GetValue(IconSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(IconSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalIconSize
+        {
             get => Icon.Size;
             set => Icon.Size = value;
         }
@@ -499,6 +595,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector TextSelector
         {
+            get
+            {
+                return GetValue(TextSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(TextSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalTextSelector
+        {
             get => buttonText == null ? null : new StringSelector(buttonText.TextSelector);
             set
             {
@@ -521,6 +629,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector TranslatableTextSelector
         {
+            get
+            {
+                return GetValue(TranslatableTextSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(TranslatableTextSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalTranslatableTextSelector
+        {
             get => buttonText == null ? null : new StringSelector(buttonText.TranslatableTextSelector);
             set
             {
@@ -543,6 +663,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public ColorSelector TextColorSelector
         {
+            get
+            {
+                return GetValue(TextColorSelectorProperty) as ColorSelector;
+            }
+            set
+            {
+                SetValue(TextColorSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ColorSelector InternalTextColorSelector
+        {
             get => buttonText == null ? null : new ColorSelector(buttonText.TextColorSelector);
             set
             {
@@ -565,6 +697,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public FloatSelector PointSizeSelector
         {
+            get
+            {
+                return GetValue(PointSizeSelectorProperty) as FloatSelector;
+            }
+            set
+            {
+                SetValue(PointSizeSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private FloatSelector InternalPointSizeSelector
+        {
             get => buttonText == null ? null : new FloatSelector(buttonText.PointSizeSelector);
             set
             {
@@ -587,6 +731,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector IconURLSelector
         {
+            get
+            {
+                return GetValue(IconURLSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(IconURLSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalIconURLSelector
+        {
             get => buttonIcon == null ? null : new StringSelector(buttonIcon.ResourceUrlSelector);
             set
             {
diff --git a/src/Tizen.NUI.Components/Controls/ButtonBindableProperty.cs b/src/Tizen.NUI.Components/Controls/ButtonBindableProperty.cs
new file mode 100755 (executable)
index 0000000..9c35857
--- /dev/null
@@ -0,0 +1,242 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Button
+    {
+        /// <summary>
+        /// TextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(Button), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalText;
+        });
+
+        /// <summary>
+        /// TranslatableTextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TranslatableTextProperty = BindableProperty.Create(nameof(TranslatableText), typeof(string), typeof(Button), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTranslatableText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTranslatableText;
+        });
+
+        /// <summary>
+        /// PointSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(Button), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPointSize = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalPointSize;
+        });
+
+        /// <summary>
+        /// FontFamilyProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(Button), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFontFamily = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalFontFamily;
+        });
+
+        /// <summary>
+        /// TextColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTextColor;
+        });
+
+        /// <summary>
+        /// TextAlignmentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextAlignmentProperty = BindableProperty.Create(nameof(TextAlignment), typeof(HorizontalAlignment), typeof(Button), default(HorizontalAlignment), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextAlignment = (HorizontalAlignment)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTextAlignment;
+        });
+
+        /// <summary>
+        /// IconURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IconURLProperty = BindableProperty.Create(nameof(IconURL), typeof(string), typeof(Button), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIconURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalIconURL;
+        });
+
+        /// <summary>
+        /// IconSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IconSizeProperty = BindableProperty.Create(nameof(IconSize), typeof(Size), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIconSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalIconSize;
+        });
+
+        /// <summary>
+        /// TextSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextSelectorProperty = BindableProperty.Create(nameof(TextSelector), typeof(StringSelector), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTextSelector;
+        });
+
+        /// <summary>
+        /// TranslatableTextSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create(nameof(TranslatableTextSelector), typeof(StringSelector), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTranslatableTextSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTranslatableTextSelector;
+        });
+
+        /// <summary>
+        /// TextColorSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create(nameof(TextColorSelector), typeof(ColorSelector), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextColorSelector = newValue as ColorSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalTextColorSelector;
+        });
+
+        /// <summary>
+        /// PointSizeSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create(nameof(PointSizeSelector), typeof(FloatSelector), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPointSizeSelector = newValue as FloatSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalPointSizeSelector;
+        });
+
+        /// <summary>
+        /// IconURLSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IconURLSelectorProperty = BindableProperty.Create(nameof(IconURLSelector), typeof(StringSelector), typeof(Button), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Button)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIconURLSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Button)bindable;
+            return instance.InternalIconURLSelector;
+        });
+    }
+}
index 9e2da96..0c51794 100755 (executable)
@@ -32,6 +32,24 @@ namespace Tizen.NUI.Components
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class Control : VisualView
     {
+        /// <summary>
+        /// FeedbackProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FeedbackProperty = BindableProperty.Create(nameof(Feedback), typeof(bool), typeof(Control), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Control)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFeedback = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Control)bindable;
+            return instance.InternalFeedback;
+        });
+
         /// Internal used.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty CommandProperty = BindableProperty.Create(nameof(Command), typeof(ICommand), typeof(Control), null, propertyChanged: (bo, o, n) => ((Control)bo).OnCommandChanged());
@@ -100,6 +118,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool Feedback
         {
+            get
+            {
+                return (bool)GetValue(FeedbackProperty);
+            }
+            set
+            {
+                SetValue(FeedbackProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalFeedback
+        {
             get => feedback != null;
             set
             {
index e5e0537..c7223b4 100755 (executable)
@@ -21,6 +21,7 @@ using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Globalization;
 using System.Diagnostics.CodeAnalysis;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -57,6 +58,24 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     public class DatePicker : Control
     {
+        /// <summary>
+        /// DateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DateProperty = BindableProperty.Create(nameof(Date), typeof(DateTime), typeof(DatePicker), default(DateTime), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DatePicker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDate = (DateTime)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DatePicker)bindable;
+            return instance.InternalDate;
+        });
+
         private DateTime currentDate;
         private Picker dayPicker;
         private Picker monthPicker;
@@ -131,6 +150,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (DateTime)GetValue(DateProperty);
+            }
+            set
+            {
+                SetValue(DateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DateTime InternalDate
+        {
+            get
+            {
                 return currentDate;
             }
             set
old mode 100644 (file)
new mode 100755 (executable)
index 56a0b49..28f7b79
@@ -18,6 +18,7 @@
 using System;
 using System.ComponentModel;
 using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -27,6 +28,24 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     public class Dialog : Control
     {
+        /// <summary>
+        /// ContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContentProperty = BindableProperty.Create(nameof(Content), typeof(View), typeof(Dialog), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Dialog)bindable;
+            if (newValue != null)
+            {
+                instance.InternalContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Dialog)bindable;
+            return instance.InternalContent;
+        });
+
         private View content = null;
 
         /// <summary>
@@ -71,6 +90,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
+        {
+            get
+            {
                 return content;
             }
             set
index 73a635f..ca69f12 100755 (executable)
@@ -18,6 +18,7 @@ using System;
 using System.ComponentModel;
 using System.Diagnostics.CodeAnalysis;
 using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -60,6 +61,42 @@ namespace Tizen.NUI.Components
     public partial class FlexibleView : Control
     {
         /// <summary>
+        /// PaddingProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(FlexibleView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (FlexibleView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPadding = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (FlexibleView)bindable;
+            return instance.InternalPadding;
+        });
+
+        /// <summary>
+        /// FocusedItemIndexProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FocusedItemIndexProperty = BindableProperty.Create(nameof(FocusedItemIndex), typeof(int), typeof(FlexibleView), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (FlexibleView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFocusedItemIndex = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (FlexibleView)bindable;
+            return instance.InternalFocusedItemIndex;
+        });
+
+        /// <summary>
         /// Constant value: -1.
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
@@ -186,6 +223,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(PaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalPadding
+        {
+            get
+            {
                 if (null == padding)
                 {
                     padding = new Extents((ushort start, ushort end, ushort top, ushort bottom) =>
@@ -226,6 +275,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(FocusedItemIndexProperty);
+            }
+            set
+            {
+                SetValue(FocusedItemIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalFocusedItemIndex
+        {
+            get
+            {
                 return focusedItemIndex;
             }
             set
index 7966172..f2b3b4c 100755 (executable)
@@ -30,7 +30,7 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 6 </since_tizen>
     /// This will be deprecated
     [Obsolete("Deprecated in API8; Will be removed in API10")]
-    public class ScrollBar : Control
+    public partial class ScrollBar : Control
     {
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -234,6 +234,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ThumbSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalThumbSize
+        {
+            get
+            {
                 return thumbImage?.Size;
             }
             set
@@ -256,6 +268,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TrackImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(TrackImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTrackImageURL
+        {
+            get
+            {
                 return trackImage?.ResourceUrl;
             }
             set
@@ -278,6 +302,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTrackColor
+        {
+            get
+            {
                 return trackImage?.BackgroundColor;
             }
             set
@@ -299,6 +335,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalThumbColor
+        {
+            get
+            {
                 return thumbImage?.BackgroundColor;
             }
             set
index 383e34a..b54654f 100755 (executable)
@@ -30,6 +30,24 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 6 </since_tizen>
     public class Loading : Control
     {
+        /// <summary>
+        /// ImageArrayProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ImageArrayProperty = BindableProperty.Create(nameof(ImageArray), typeof(string[]), typeof(Loading), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Loading)bindable;
+            if (newValue != null)
+            {
+                instance.InternalImageArray = newValue as string[];
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Loading)bindable;
+            return instance.InternalImageArray;
+        });
+
         /// <summary>The ImageList bindable property.</summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty ImageListProperty = BindableProperty.Create(nameof(ImageList), typeof(IList<string>), typeof(Loading), null, propertyChanged: (bindable, oldValue, newValue) =>
@@ -143,6 +161,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public string[] ImageArray
         {
+            get
+            {
+                return GetValue(ImageArrayProperty) as string[];
+            }
+            set
+            {
+                SetValue(ImageArrayProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string[] InternalImageArray
+        {
             get => (GetValue(ImageListProperty) as List<string>)?.ToArray() ?? null;
             set => SetValue(ImageListProperty, value == null ? new List<string>() : new List<string>((string[])value));
         }
index beeab4f..4f33435 100755 (executable)
@@ -25,7 +25,7 @@ namespace Tizen.NUI.Components
     /// Menu is a class which contains a set of MenuItems and has one of them selected.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class Menu : Control
+    public partial class Menu : Control
     {
         private Window window = null;
         private Layer layer = null;
@@ -160,6 +160,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(AnchorProperty) as View;
+            }
+            set
+            {
+                SetValue(AnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalAnchor
+        {
+            get
+            {
                 return anchor;
             }
 
@@ -194,6 +206,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (RelativePosition)GetValue(HorizontalPositionToAnchorProperty);
+            }
+            set
+            {
+                SetValue(HorizontalPositionToAnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RelativePosition InternalHorizontalPositionToAnchor
+        {
+            get
+            {
                 return horizontalPosition;
             }
 
@@ -224,6 +248,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (RelativePosition)GetValue(VerticalPositionToAnchorProperty);
+            }
+            set
+            {
+                SetValue(VerticalPositionToAnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RelativePosition InternalVerticalPositionToAnchor
+        {
+            get
+            {
                 return verticalPosition;
             }
 
diff --git a/src/Tizen.NUI.Components/Controls/MenuBindableProperty.cs b/src/Tizen.NUI.Components/Controls/MenuBindableProperty.cs
new file mode 100755 (executable)
index 0000000..b8b1dbb
--- /dev/null
@@ -0,0 +1,63 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Menu
+    {
+        /// <summary>
+        /// AnchorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AnchorProperty = BindableProperty.Create(nameof(Anchor), typeof(View), typeof(Menu), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Menu)bindable;
+            if (newValue != null)
+            {
+                instance.InternalAnchor = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Menu)bindable;
+            return instance.InternalAnchor;
+        });
+
+        /// <summary>
+        /// HorizontalPositionToAnchorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HorizontalPositionToAnchorProperty = BindableProperty.Create(nameof(HorizontalPositionToAnchor), typeof(Tizen.NUI.Components.Menu.RelativePosition), typeof(Menu), default(RelativePosition), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Menu)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHorizontalPositionToAnchor = (RelativePosition)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Menu)bindable;
+            return instance.InternalHorizontalPositionToAnchor;
+        });
+
+        /// <summary>
+        /// VerticalPositionToAnchorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty VerticalPositionToAnchorProperty = BindableProperty.Create(nameof(VerticalPositionToAnchor), typeof(Tizen.NUI.Components.Menu.RelativePosition), typeof(Menu), default(RelativePosition), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Menu)bindable;
+            if (newValue != null)
+            {
+                instance.InternalVerticalPositionToAnchor = (RelativePosition)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Menu)bindable;
+            return instance.InternalVerticalPositionToAnchor;
+        });
+    }
+}
index 28e51b9..39cbf9e 100755 (executable)
@@ -26,7 +26,7 @@ namespace Tizen.NUI.Components
     /// and action functions on Page.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class AppBar : Control
+    public partial class AppBar : Control
     {
         private bool autoNavigationContent = true;
 
@@ -166,6 +166,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(NavigationContentProperty) as View;
+            }
+            set
+            {
+                SetValue(NavigationContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalNavigationContent
+        {
+            get
+            {
                 return navigationContent;
             }
             set
@@ -200,6 +212,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TitleProperty) as string;
+            }
+            set
+            {
+                SetValue(TitleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTitle
+        {
+            get
+            {
                 return title;
             }
             set
@@ -228,6 +252,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TitleContentProperty) as View;
+            }
+            set
+            {
+                SetValue(TitleContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalTitleContent
+        {
+            get
+            {
                 return titleContent;
             }
             set
@@ -325,6 +361,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ActionContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ActionContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalActionContent
+        {
+            get
+            {
                 return actionContent;
             }
             set
@@ -383,6 +431,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(AutoNavigationContentProperty);
+            }
+            set
+            {
+                SetValue(AutoNavigationContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalAutoNavigationContent
+        {
+            get
+            {
                 return autoNavigationContent;
             }
 
diff --git a/src/Tizen.NUI.Components/Controls/Navigation/AppBarBindableProperty.cs b/src/Tizen.NUI.Components/Controls/Navigation/AppBarBindableProperty.cs
new file mode 100755 (executable)
index 0000000..8d8bd12
--- /dev/null
@@ -0,0 +1,99 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class AppBar
+    {
+        /// <summary>
+        /// NavigationContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty NavigationContentProperty = BindableProperty.Create(nameof(NavigationContent), typeof(View), typeof(AppBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AppBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalNavigationContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AppBar)bindable;
+            return instance.InternalNavigationContent;
+        });
+
+        /// <summary>
+        /// TitleProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleProperty = BindableProperty.Create(nameof(Title), typeof(string), typeof(AppBar), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AppBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitle = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AppBar)bindable;
+            return instance.InternalTitle;
+        });
+
+        /// <summary>
+        /// TitleContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleContentProperty = BindableProperty.Create(nameof(TitleContent), typeof(View), typeof(AppBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AppBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AppBar)bindable;
+            return instance.InternalTitleContent;
+        });
+
+        /// <summary>
+        /// ActionContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ActionContentProperty = BindableProperty.Create(nameof(ActionContent), typeof(View), typeof(AppBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AppBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalActionContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AppBar)bindable;
+            return instance.InternalActionContent;
+        });
+
+        /// <summary>
+        /// AutoNavigationContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AutoNavigationContentProperty = BindableProperty.Create(nameof(AutoNavigationContent), typeof(bool), typeof(AppBar), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (AppBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalAutoNavigationContent = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (AppBar)bindable;
+            return instance.InternalAutoNavigationContent;
+        });
+    }
+}
index 9b53d6a..9f4ac04 100755 (executable)
@@ -24,7 +24,7 @@ namespace Tizen.NUI.Components
     /// ContentPage contains title app bar and content.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class ContentPage : Page
+    public partial class ContentPage : Page
     {
         private AppBar appBar = null;
         private View content = null;
@@ -89,6 +89,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(AppBarProperty) as AppBar;
+            }
+            set
+            {
+                SetValue(AppBarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private AppBar InternalAppBar
+        {
+            get
+            {
                 return appBar;
             }
             set
@@ -126,6 +138,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
+        {
+            get
+            {
                 return content;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/Navigation/ContentPageBindableProperty.cs b/src/Tizen.NUI.Components/Controls/Navigation/ContentPageBindableProperty.cs
new file mode 100755 (executable)
index 0000000..cf5929c
--- /dev/null
@@ -0,0 +1,46 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class ContentPage
+    {
+        /// <summary>
+        /// AppBarProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AppBarProperty = BindableProperty.Create(nameof(AppBar), typeof(AppBar), typeof(ContentPage), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ContentPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalAppBar = newValue as AppBar;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ContentPage)bindable;
+            return instance.InternalAppBar;
+        });
+
+        /// <summary>
+        /// ContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContentProperty = BindableProperty.Create(nameof(Content), typeof(View), typeof(ContentPage), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ContentPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ContentPage)bindable;
+            return instance.InternalContent;
+        });
+
+    }
+}
index 10da0c9..aaea2c7 100755 (executable)
@@ -26,7 +26,7 @@ namespace Tizen.NUI.Components
     /// DialogPage contains dialog and dimmed scrim behind the dialog.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class DialogPage : Page
+    public partial class DialogPage : Page
     {
         private View content = null;
         private View scrim = null;
@@ -89,6 +89,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
+        {
+            get
+            {
                 return content;
             }
             set
@@ -188,6 +200,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(EnableScrimProperty);
+            }
+            set
+            {
+                SetValue(EnableScrimProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalEnableScrim
+        {
+            get
+            {
                 return enableScrim;
             }
             set
@@ -217,7 +241,19 @@ namespace Tizen.NUI.Components
         /// Indicates to dismiss dialog by touching on scrim.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
-        public bool EnableDismissOnScrim { get; set; } = true;
+        public bool EnableDismissOnScrim
+        {
+            get
+            {
+                return (bool)GetValue(EnableDismissOnScrimProperty);
+            }
+            set
+            {
+                SetValue(EnableDismissOnScrimProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalEnableDismissOnScrim { get; set; } = true;
 
         /// <summary>
         /// The color of scrim.
@@ -227,6 +263,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ScrimColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ScrimColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalScrimColor
+        {
+            get
+            {
                 return Scrim?.BackgroundColor;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/Navigation/DialogPageBindableProperty.cs b/src/Tizen.NUI.Components/Controls/Navigation/DialogPageBindableProperty.cs
new file mode 100755 (executable)
index 0000000..de8b355
--- /dev/null
@@ -0,0 +1,81 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class DialogPage
+    {
+        /// <summary>
+        /// ContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContentProperty = BindableProperty.Create(nameof(Content), typeof(View), typeof(DialogPage), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DialogPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalContent = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DialogPage)bindable;
+            return instance.InternalContent;
+        });
+
+        /// <summary>
+        /// EnableScrimProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty EnableScrimProperty = BindableProperty.Create(nameof(EnableScrim), typeof(bool), typeof(DialogPage), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DialogPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalEnableScrim = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DialogPage)bindable;
+            return instance.InternalEnableScrim;
+        });
+
+        /// <summary>
+        /// EnableDismissOnScrimProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty EnableDismissOnScrimProperty = BindableProperty.Create(nameof(EnableDismissOnScrim), typeof(bool), typeof(DialogPage), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DialogPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalEnableDismissOnScrim = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DialogPage)bindable;
+            return instance.InternalEnableDismissOnScrim;
+        });
+
+        /// <summary>
+        /// ScrimColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrimColorProperty = BindableProperty.Create(nameof(ScrimColor), typeof(Color), typeof(DialogPage), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DialogPage)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrimColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DialogPage)bindable;
+            return instance.InternalScrimColor;
+        });
+    }
+}
index 8780afd..f00a4cc 100755 (executable)
@@ -19,6 +19,7 @@ using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -73,6 +74,24 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     public class Navigator : Control
     {
+        /// <summary>
+        /// TransitionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TransitionProperty = BindableProperty.Create(nameof(Transition), typeof(Transition), typeof(Navigator), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Navigator)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTransition = newValue as Transition;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Navigator)bindable;
+            return instance.InternalTransition;
+        });
+
         private const int DefaultTransitionDuration = 500;
 
         //This will be replaced with view transition class instance.
@@ -143,6 +162,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 9 </since_tizen>
         public Transition Transition
         {
+            get
+            {
+                return GetValue(TransitionProperty) as Transition;
+            }
+            set
+            {
+                SetValue(TransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Transition InternalTransition
+        {
             set
             {
                 transition = value;
index 98f17c2..fba9475 100755 (executable)
@@ -16,6 +16,7 @@
  */
 using System;
 using System.ComponentModel;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -57,6 +58,42 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     public abstract class Page : Control
     {
+        /// <summary>
+        /// AppearingTransitionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AppearingTransitionProperty = BindableProperty.Create(nameof(AppearingTransition), typeof(TransitionBase), typeof(Page), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Page)bindable;
+            if (newValue != null)
+            {
+                instance.InternalAppearingTransition = newValue as TransitionBase;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Page)bindable;
+            return instance.InternalAppearingTransition;
+        });
+
+        /// <summary>
+        /// DisappearingTransitionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DisappearingTransitionProperty = BindableProperty.Create(nameof(DisappearingTransition), typeof(TransitionBase), typeof(Page), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Page)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDisappearingTransition = newValue as TransitionBase;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Page)bindable;
+            return instance.InternalDisappearingTransition;
+        });
+
         private Navigator navigator = null;
 
         // Default transition is Fade.
@@ -100,6 +137,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public TransitionBase AppearingTransition
         {
+            get
+            {
+                return GetValue(AppearingTransitionProperty) as TransitionBase;
+            }
+            set
+            {
+                SetValue(AppearingTransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private TransitionBase InternalAppearingTransition
+        {
             set
             {
                 appearingTransition = value;
@@ -116,6 +165,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public TransitionBase DisappearingTransition
         {
+            get
+            {
+                return GetValue(DisappearingTransitionProperty) as TransitionBase;
+            }
+            set
+            {
+                SetValue(DisappearingTransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private TransitionBase InternalDisappearingTransition
+        {
             set
             {
                 disappearingTransition = value;
index 9da3e44..f7e5017 100755 (executable)
@@ -28,7 +28,7 @@ namespace Tizen.NUI.Components
     /// Pagination shows the number of pages available and the currently active page.
     /// </summary>
     /// <since_tizen> 8 </since_tizen>
-    public class Pagination : Control
+    public partial class Pagination : Control
     {
         /// <summary>The IndicatorSize bindable property.</summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -150,6 +150,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> LastIndicatorImageUrl
         {
+            get
+            {
+                return GetValue(LastIndicatorImageUrlProperty) as Selector<string>;
+            }
+            set
+            {
+                SetValue(LastIndicatorImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Selector<string> InternalLastIndicatorImageUrl
+        {
             get => lastIndicatorImageUrl;
             set
             {
@@ -181,6 +193,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(IndicatorCountProperty);
+            }
+            set
+            {
+                SetValue(IndicatorCountProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalIndicatorCount
+        {
+            get
+            {
                 return indicatorCount;
             }
             set
@@ -252,6 +276,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(IndicatorColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(IndicatorColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalIndicatorColor
+        {
+            get
+            {
                 return new Color(OnIndicatorColorChanged, indicatorColor);
             }
             set
@@ -307,6 +343,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SelectedIndicatorColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(SelectedIndicatorColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalSelectedIndicatorColor
+        {
+            get
+            {
                 return new Color(OnSelectedIndicatorColorChanged, selectedIndicatorColor);
             }
             set
@@ -347,6 +395,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(SelectedIndexProperty);
+            }
+            set
+            {
+                SetValue(SelectedIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalSelectedIndex
+        {
+            get
+            {
                 return selectedIndex;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/PaginationBindableProperty.cs b/src/Tizen.NUI.Components/Controls/PaginationBindableProperty.cs
new file mode 100755 (executable)
index 0000000..6d6b371
--- /dev/null
@@ -0,0 +1,99 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Pagination
+    {
+        /// <summary>
+        /// LastIndicatorImageUrlProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty LastIndicatorImageUrlProperty = BindableProperty.Create(nameof(LastIndicatorImageUrl), typeof(Tizen.NUI.BaseComponents.Selector<string>), typeof(Pagination), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Pagination)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLastIndicatorImageUrl = newValue as Selector<string>;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Pagination)bindable;
+            return instance.InternalLastIndicatorImageUrl;
+        });
+
+        /// <summary>
+        /// IndicatorCountProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IndicatorCountProperty = BindableProperty.Create(nameof(IndicatorCount), typeof(int), typeof(Pagination), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Pagination)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIndicatorCount = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Pagination)bindable;
+            return instance.InternalIndicatorCount;
+        });
+
+        /// <summary>
+        /// IndicatorColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IndicatorColorProperty = BindableProperty.Create(nameof(IndicatorColor), typeof(Color), typeof(Pagination), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Pagination)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIndicatorColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Pagination)bindable;
+            return instance.InternalIndicatorColor;
+        });
+
+        /// <summary>
+        /// SelectedIndicatorColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SelectedIndicatorColorProperty = BindableProperty.Create(nameof(SelectedIndicatorColor), typeof(Color), typeof(Pagination), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Pagination)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSelectedIndicatorColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Pagination)bindable;
+            return instance.InternalSelectedIndicatorColor;
+        });
+
+        /// <summary>
+        /// SelectedIndexProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SelectedIndexProperty = BindableProperty.Create(nameof(SelectedIndex), typeof(int), typeof(Pagination), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Pagination)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSelectedIndex = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Pagination)bindable;
+            return instance.InternalSelectedIndex;
+        });
+    }
+}
index 65bdeb1..70eaf90 100755 (executable)
@@ -53,7 +53,7 @@ namespace Tizen.NUI.Components
     /// a value through a scrolling motion by expressing the specified value as a list.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class Picker : Control
+    public partial class Picker : Control
     {
         //Tizen 6.5 base components Picker guide visible scroll item is 5.
         private const int scrollVisibleItems = 5;
@@ -186,6 +186,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(CurrentValueProperty);
+            }
+            set
+            {
+                SetValue(CurrentValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalCurrentValue
+        {
+            get
+            {
                 return currentValue;
             }
             set
@@ -209,6 +221,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(MaxValueProperty);
+            }
+            set
+            {
+                SetValue(MaxValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalMaxValue
+        {
+            get
+            {
                 return maxValue;
             }
             set
@@ -231,6 +255,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(MinValueProperty);
+            }
+            set
+            {
+                SetValue(MinValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalMinValue
+        {
+            get
+            {
                 return minValue;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/PickerBindableProperty.cs b/src/Tizen.NUI.Components/Controls/PickerBindableProperty.cs
new file mode 100755 (executable)
index 0000000..8d76640
--- /dev/null
@@ -0,0 +1,62 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Picker
+    {
+        /// <summary>
+        /// CurrentValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty CurrentValueProperty = BindableProperty.Create(nameof(CurrentValue), typeof(int), typeof(Picker), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Picker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalCurrentValue = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Picker)bindable;
+            return instance.InternalCurrentValue;
+        });
+
+        /// <summary>
+        /// MaxValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MaxValueProperty = BindableProperty.Create(nameof(MaxValue), typeof(int), typeof(Picker), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Picker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalMaxValue = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Picker)bindable;
+            return instance.InternalMaxValue;
+        });
+
+        /// <summary>
+        /// MinValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MinValueProperty = BindableProperty.Create(nameof(MinValue), typeof(int), typeof(Picker), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Picker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalMinValue = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Picker)bindable;
+            return instance.InternalMinValue;
+        });
+    }
+}
index ed4d436..14c25ae 100755 (executable)
@@ -27,7 +27,7 @@ namespace Tizen.NUI.Components
     /// </summary>
     /// <since_tizen> 6 </since_tizen>
     [Obsolete("Deprecated in API8; Will be removed in API10")]
-    public class Popup : Control
+    public partial class Popup : Control
     {
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -328,6 +328,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public string TitleText
         {
+            get
+            {
+                return GetValue(TitleTextProperty) as string;
+            }
+            set
+            {
+                SetValue(TitleTextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTitleText
+        {
             get => Title.Text;
             set => Title.Text = value;
         }
@@ -339,6 +351,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public float TitlePointSize
         {
+            get
+            {
+                return (float)GetValue(TitlePointSizeProperty);
+            }
+            set
+            {
+                SetValue(TitlePointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalTitlePointSize
+        {
             get => Title.PointSize;
             set => Title.PointSize = value;
         }
@@ -350,6 +374,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color TitleTextColor
         {
+            get
+            {
+                return GetValue(TitleTextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TitleTextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTitleTextColor
+        {
             get => Title.TextColor;
             set => Title.TextColor = value;
         }
@@ -361,6 +397,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public HorizontalAlignment TitleTextHorizontalAlignment
         {
+            get
+            {
+                return (HorizontalAlignment)GetValue(TitleTextHorizontalAlignmentProperty);
+            }
+            set
+            {
+                SetValue(TitleTextHorizontalAlignmentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private HorizontalAlignment InternalTitleTextHorizontalAlignment
+        {
             get => Title.HorizontalAlignment;
             set => Title.HorizontalAlignment = value;
         }
@@ -372,6 +420,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Position TitleTextPosition
         {
+            get
+            {
+                return GetValue(TitleTextPositionProperty) as Position;
+            }
+            set
+            {
+                SetValue(TitleTextPositionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Position InternalTitleTextPosition
+        {
             get => Title.Position;
             set => Title.Position = value;
         }
@@ -383,6 +443,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public int TitleHeight
         {
+            get
+            {
+                return (int)GetValue(TitleHeightProperty);
+            }
+            set
+            {
+                SetValue(TitleHeightProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalTitleHeight
+        {
             get => (int)Title.SizeHeight;
             set => Title.SizeHeight = (int)value;
         }
@@ -405,6 +477,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public int ButtonCount
         {
+            get
+            {
+                return (int)GetValue(ButtonCountProperty);
+            }
+            set
+            {
+                SetValue(ButtonCountProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalButtonCount
+        {
             get;
             set;
         }
diff --git a/src/Tizen.NUI.Components/Controls/PopupBindableProperty.cs b/src/Tizen.NUI.Components/Controls/PopupBindableProperty.cs
new file mode 100755 (executable)
index 0000000..81d051f
--- /dev/null
@@ -0,0 +1,134 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Popup
+    {
+        /// <summary>
+        /// TitleTextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleTextProperty = BindableProperty.Create(nameof(TitleText), typeof(string), typeof(Popup), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitleText;
+        });
+
+        /// <summary>
+        /// TitlePointSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitlePointSizeProperty = BindableProperty.Create(nameof(TitlePointSize), typeof(float), typeof(Popup), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitlePointSize = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitlePointSize;
+        });
+
+        /// <summary>
+        /// TitleTextColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleTextColorProperty = BindableProperty.Create(nameof(TitleTextColor), typeof(Color), typeof(Popup), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleTextColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitleTextColor;
+        });
+
+        /// <summary>
+        /// TitleTextHorizontalAlignmentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleTextHorizontalAlignmentProperty = BindableProperty.Create(nameof(TitleTextHorizontalAlignment), typeof(HorizontalAlignment), typeof(Popup), default(HorizontalAlignment), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleTextHorizontalAlignment = (HorizontalAlignment)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitleTextHorizontalAlignment;
+        });
+
+        /// <summary>
+        /// TitleTextPositionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleTextPositionProperty = BindableProperty.Create(nameof(TitleTextPosition), typeof(Position), typeof(Popup), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleTextPosition = newValue as Position;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitleTextPosition;
+        });
+
+        /// <summary>
+        /// TitleHeightProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleHeightProperty = BindableProperty.Create(nameof(TitleHeight), typeof(int), typeof(Popup), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTitleHeight = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalTitleHeight;
+        });
+
+        /// <summary>
+        /// ButtonCountProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ButtonCountProperty = BindableProperty.Create(nameof(ButtonCount), typeof(int), typeof(Popup), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Popup)bindable;
+            if (newValue != null)
+            {
+                instance.InternalButtonCount = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Popup)bindable;
+            return instance.InternalButtonCount;
+        });
+    }
+}
index 5bbf963..6fd82b8 100755 (executable)
@@ -26,7 +26,7 @@ namespace Tizen.NUI.Components
     /// The Progress class is used to show the ongoing status with a long narrow bar.
     /// </summary>
     /// <since_tizen> 6 </since_tizen>
-    public class Progress : Control
+    public partial class Progress : Control
     {
         /// <summary>
         /// MaxValueProperty
@@ -237,6 +237,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public string TrackImageURL
         {
+            get
+            {
+                return GetValue(TrackImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(TrackImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTrackImageURL
+        {
             get => trackImage.ResourceUrl;
             set => trackImage.ResourceUrl = value;
         }
@@ -247,6 +259,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public string ProgressImageURL
         {
+            get
+            {
+                return GetValue(ProgressImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(ProgressImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalProgressImageURL
+        {
             get => progressImage.ResourceUrl;
             set => progressImage.ResourceUrl = value;
         }
@@ -257,6 +281,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public string BufferImageURL
         {
+            get
+            {
+                return GetValue(BufferImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(BufferImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalBufferImageURL
+        {
             get => bufferImage.ResourceUrl;
             set => bufferImage.ResourceUrl = value;
         }
@@ -270,6 +306,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(IndeterminateImageUrlProperty) as string;
+            }
+            set
+            {
+                SetValue(IndeterminateImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalIndeterminateImageUrl
+        {
+            get
+            {
                 if (indeterminateImage == null)
                 {
                     return null;
@@ -298,6 +346,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public Color TrackColor
         {
+            get
+            {
+                return GetValue(TrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTrackColor
+        {
             get => trackImage.BackgroundColor;
             set => trackImage.BackgroundColor = value;
         }
@@ -308,6 +368,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public Color ProgressColor
         {
+            get
+            {
+                return GetValue(ProgressColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ProgressColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalProgressColor
+        {
             get => progressImage.BackgroundColor;
             set => progressImage.BackgroundColor = value;
         }
@@ -318,6 +390,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public Color BufferColor
         {
+            get
+            {
+                return GetValue(BufferColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(BufferColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalBufferColor
+        {
             get => bufferImage.BackgroundColor;
             set => bufferImage.BackgroundColor = value;
         }
diff --git a/src/Tizen.NUI.Components/Controls/ProgressBindableProperty.cs b/src/Tizen.NUI.Components/Controls/ProgressBindableProperty.cs
new file mode 100755 (executable)
index 0000000..afc3a00
--- /dev/null
@@ -0,0 +1,134 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Progress
+    {
+        /// <summary>
+        /// TrackImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TrackImageURLProperty = BindableProperty.Create(nameof(TrackImageURL), typeof(string), typeof(Progress), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTrackImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalTrackImageURL;
+        });
+
+        /// <summary>
+        /// ProgressImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ProgressImageURLProperty = BindableProperty.Create(nameof(ProgressImageURL), typeof(string), typeof(Progress), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalProgressImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalProgressImageURL;
+        });
+
+        /// <summary>
+        /// BufferImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BufferImageURLProperty = BindableProperty.Create(nameof(BufferImageURL), typeof(string), typeof(Progress), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalBufferImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalBufferImageURL;
+        });
+
+        /// <summary>
+        /// IndeterminateImageUrlProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IndeterminateImageUrlProperty = BindableProperty.Create(nameof(IndeterminateImageUrl), typeof(string), typeof(Progress), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIndeterminateImageUrl = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalIndeterminateImageUrl;
+        });
+
+        /// <summary>
+        /// TrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TrackColorProperty = BindableProperty.Create(nameof(TrackColor), typeof(Color), typeof(Progress), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalTrackColor;
+        });
+
+        /// <summary>
+        /// ProgressColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ProgressColorProperty = BindableProperty.Create(nameof(ProgressColor), typeof(Color), typeof(Progress), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalProgressColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalProgressColor;
+        });
+
+        /// <summary>
+        /// BufferColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BufferColorProperty = BindableProperty.Create(nameof(BufferColor), typeof(Color), typeof(Progress), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Progress)bindable;
+            if (newValue != null)
+            {
+                instance.InternalBufferColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Progress)bindable;
+            return instance.InternalBufferColor;
+        });
+    }
+}
index fc7e437..f2b0584 100755 (executable)
@@ -29,7 +29,7 @@ namespace Tizen.NUI.Components
     /// Selectable RecyclerView that presenting a collection of items with variable layouters.
     /// </summary>
     /// <since_tizen> 9 </since_tizen>
-    public class CollectionView : RecyclerView
+    public partial class CollectionView : RecyclerView
     {
         /// <summary>
         /// Binding Property of selected item in single selection.
@@ -270,6 +270,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ItemTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(ItemTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalItemTemplate
+        {
+            get
+            {
                 return itemTemplate;
             }
             set
@@ -297,6 +309,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ItemsLayouterProperty) as ItemsLayouter;
+            }
+            set
+            {
+                SetValue(ItemsLayouterProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ItemsLayouter InternalItemsLayouter
+        {
+            get
+            {
                 return itemsLayouter;
             }
             set
@@ -332,6 +356,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (Direction)GetValue(ScrollingDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollingDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Direction InternalScrollingDirection
+        {
+            get
+            {
                 return base.ScrollingDirection;
             }
             set
@@ -379,13 +415,37 @@ namespace Tizen.NUI.Components
         /// Command of selection changed.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public ICommand SelectionChangedCommand { set; get; }
+        public ICommand SelectionChangedCommand
+        {
+            get
+            {
+                return GetValue(SelectionChangedCommandProperty) as ICommand;
+            }
+            set
+            {
+                SetValue(SelectionChangedCommandProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ICommand InternalSelectionChangedCommand { set; get; }
 
         /// <summary>
         /// Command parameter of selection changed.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public object SelectionChangedCommandParameter { set; get; }
+        public object SelectionChangedCommandParameter
+        {
+            get
+            {
+                return GetValue(SelectionChangedCommandParameterProperty);
+            }
+            set
+            {
+                SetValue(SelectionChangedCommandParameterProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private object InternalSelectionChangedCommandParameter { set; get; }
 
         /// <summary>
         /// Header item placed in top-most position.
@@ -394,6 +454,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem Header
         {
+            get
+            {
+                return GetValue(HeaderProperty) as RecyclerViewItem;
+            }
+            set
+            {
+                SetValue(HeaderProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RecyclerViewItem InternalHeader
+        {
             get => header;
             set
             {
@@ -426,6 +498,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 9 </since_tizen>
         public RecyclerViewItem Footer
         {
+            get
+            {
+                return GetValue(FooterProperty) as RecyclerViewItem;
+            }
+            set
+            {
+                SetValue(FooterProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RecyclerViewItem InternalFooter
+        {
             get => footer;
             set
             {
@@ -457,6 +541,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool IsGrouped
         {
+            get
+            {
+                return (bool)GetValue(IsGroupedProperty);
+            }
+            set
+            {
+                SetValue(IsGroupedProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalIsGrouped
+        {
             get => isGrouped;
             set
             {
@@ -484,6 +580,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(GroupHeaderTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(GroupHeaderTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalGroupHeaderTemplate
+        {
+            get
+            {
                 return groupHeaderTemplate;
             }
             set
@@ -511,6 +619,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(GroupFooterTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(GroupFooterTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalGroupFooterTemplate
+        {
+            get
+            {
                 return groupFooterTemplate;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/CollectionViewBindableProperty.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/CollectionViewBindableProperty.cs
new file mode 100755 (executable)
index 0000000..25d15f4
--- /dev/null
@@ -0,0 +1,189 @@
+using System.ComponentModel;
+using System.Windows.Input;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class CollectionView
+    {
+        /// <summary>
+        /// ItemTemplateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty ItemTemplateProperty = BindableProperty.Create(nameof(ItemTemplate), typeof(DataTemplate), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemTemplate = newValue as DataTemplate;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalItemTemplate;
+        });
+
+        /// <summary>
+        /// ItemsLayouterProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ItemsLayouterProperty = BindableProperty.Create(nameof(ItemsLayouter), typeof(ItemsLayouter), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemsLayouter = newValue as ItemsLayouter;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalItemsLayouter;
+        });
+
+        /// <summary>
+        /// ScrollingDirectionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty ScrollingDirectionProperty = BindableProperty.Create(nameof(ScrollingDirection), typeof(Tizen.NUI.Components.ScrollableBase.Direction), typeof(CollectionView), default(Direction), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollingDirection = (Direction)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalScrollingDirection;
+        });
+
+        /// <summary>
+        /// SelectionChangedCommandProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SelectionChangedCommandProperty = BindableProperty.Create(nameof(SelectionChangedCommand), typeof(ICommand), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSelectionChangedCommand = newValue as ICommand;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalSelectionChangedCommand;
+        });
+
+        /// <summary>
+        /// SelectionChangedCommandParameterProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SelectionChangedCommandParameterProperty = BindableProperty.Create(nameof(SelectionChangedCommandParameter), typeof(object), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSelectionChangedCommandParameter = newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalSelectionChangedCommandParameter;
+        });
+
+        /// <summary>
+        /// HeaderProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HeaderProperty = BindableProperty.Create(nameof(Header), typeof(RecyclerViewItem), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHeader = newValue as RecyclerViewItem;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalHeader;
+        });
+
+        /// <summary>
+        /// FooterProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FooterProperty = BindableProperty.Create(nameof(Footer), typeof(RecyclerViewItem), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFooter = newValue as RecyclerViewItem;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalFooter;
+        });
+
+        /// <summary>
+        /// IsGroupedProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IsGroupedProperty = BindableProperty.Create(nameof(IsGrouped), typeof(bool), typeof(CollectionView), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIsGrouped = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalIsGrouped;
+        });
+
+        /// <summary>
+        /// GroupHeaderTemplateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty GroupHeaderTemplateProperty = BindableProperty.Create(nameof(GroupHeaderTemplate), typeof(DataTemplate), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalGroupHeaderTemplate = newValue as DataTemplate;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalGroupHeaderTemplate;
+        });
+
+        /// <summary>
+        /// GroupFooterTemplateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty GroupFooterTemplateProperty = BindableProperty.Create(nameof(GroupFooterTemplate), typeof(DataTemplate), typeof(CollectionView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (CollectionView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalGroupFooterTemplate = newValue as DataTemplate;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (CollectionView)bindable;
+            return instance.InternalGroupFooterTemplate;
+        });
+    }
+}
index cd19b3d..6ac1af4 100755 (executable)
@@ -25,7 +25,7 @@ namespace Tizen.NUI.Components
     /// DefaultGridItem may contain text or an icon.
     /// </summary>
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class DefaultGridItem : RecyclerViewItem
+    public partial class DefaultGridItem : RecyclerViewItem
     {
         private TextLabel itemLabel;
         private ImageView itemImage;
@@ -135,6 +135,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(BadgeProperty) as View;
+            }
+            set
+            {
+                SetValue(BadgeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalBadge
+        {
+            get
+            {
                 return itemBadge;
 
             }
@@ -205,6 +217,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
+        {
+            get
+            {
                 return Label.Text;
             }
             set
@@ -221,6 +245,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (Tizen.NUI.Components.DefaultGridItem.LabelOrientation)GetValue(LabelOrientationTypeProperty);
+            }
+            set
+            {
+                SetValue(LabelOrientationTypeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Tizen.NUI.Components.DefaultGridItem.LabelOrientation InternalLabelOrientationType
+        {
+            get
+            {
                 return labelOrientation;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs
new file mode 100755 (executable)
index 0000000..4a62d0f
--- /dev/null
@@ -0,0 +1,63 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class DefaultGridItem
+    {
+        /// <summary>
+        /// BadgeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BadgeProperty = BindableProperty.Create(nameof(Badge), typeof(View), typeof(DefaultGridItem), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalBadge = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            return instance.InternalBadge;
+        });
+
+        /// <summary>
+        /// TextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(DefaultGridItem), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            return instance.InternalText;
+        });
+
+        /// <summary>
+        /// LabelOrientationTypeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty LabelOrientationTypeProperty = BindableProperty.Create(nameof(LabelOrientationType), typeof(Tizen.NUI.Components.DefaultGridItem.LabelOrientation), typeof(DefaultGridItem), default(LabelOrientation), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLabelOrientationType = (Tizen.NUI.Components.DefaultGridItem.LabelOrientation)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultGridItem)bindable;
+            return instance.InternalLabelOrientationType;
+        });
+    }
+}
index 37918b9..5ee1797 100755 (executable)
@@ -25,7 +25,7 @@ namespace Tizen.NUI.Components
     /// DefaultLinearItem may contain text or an icon.
     /// </summary>
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class DefaultLinearItem : RecyclerViewItem
+    public partial class DefaultLinearItem : RecyclerViewItem
     {
         private View itemIcon;
         private TextLabel itemLabel;
@@ -72,6 +72,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(IconProperty) as View;
+            }
+            set
+            {
+                SetValue(IconProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalIcon
+        {
+            get
+            {
                 if (itemIcon == null)
                 {
                     itemIcon = CreateIcon(ItemStyle?.Icon);
@@ -156,6 +168,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
+        {
+            get
+            {
                 return Label.Text;
             }
             set
@@ -198,6 +222,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SubTextProperty) as string;
+            }
+            set
+            {
+                SetValue(SubTextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalSubText
+        {
+            get
+            {
                 return SubLabel.Text;
             }
             set
@@ -214,6 +250,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ExtraProperty) as View;
+            }
+            set
+            {
+                SetValue(ExtraProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalExtra
+        {
+            get
+            {
                 if (itemExtra == null)
                 {
                     itemExtra = CreateIcon(ItemStyle?.Extra);
diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultLinearItemBindableProperty.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultLinearItemBindableProperty.cs
new file mode 100755 (executable)
index 0000000..bac1abd
--- /dev/null
@@ -0,0 +1,81 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class DefaultLinearItem
+    {
+        /// <summary>
+        /// IconProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IconProperty = BindableProperty.Create(nameof(Icon), typeof(View), typeof(DefaultLinearItem), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIcon = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            return instance.InternalIcon;
+        });
+
+        /// <summary>
+        /// TextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(DefaultLinearItem), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            return instance.InternalText;
+        });
+
+        /// <summary>
+        /// SubTextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SubTextProperty = BindableProperty.Create(nameof(SubText), typeof(string), typeof(DefaultLinearItem), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSubText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            return instance.InternalSubText;
+        });
+
+        /// <summary>
+        /// ExtraProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ExtraProperty = BindableProperty.Create(nameof(Extra), typeof(View), typeof(DefaultLinearItem), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalExtra = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultLinearItem)bindable;
+            return instance.InternalExtra;
+        });
+    }
+}
index 2443b8a..834052a 100755 (executable)
@@ -25,7 +25,7 @@ namespace Tizen.NUI.Components
     /// DefaultTitleItem may contain text or an icon.
     /// </summary>
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class DefaultTitleItem : RecyclerViewItem
+    public partial class DefaultTitleItem : RecyclerViewItem
     {
         private TextLabel itemLabel;
         private View itemIcon;
@@ -70,6 +70,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(IconProperty) as View;
+            }
+            set
+            {
+                SetValue(IconProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalIcon
+        {
+            get
+            {
                 if (itemIcon == null)
                 {
                     itemIcon = CreateIcon(ItemStyle?.Icon);
@@ -154,6 +166,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
+        {
+            get
+            {
                 return Label.Text;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultTitleItemBindableProperty.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultTitleItemBindableProperty.cs
new file mode 100755 (executable)
index 0000000..104ca2c
--- /dev/null
@@ -0,0 +1,45 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class DefaultTitleItem
+    {
+        /// <summary>
+        /// IconProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IconProperty = BindableProperty.Create(nameof(Icon), typeof(View), typeof(DefaultTitleItem), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultTitleItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIcon = newValue as View;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultTitleItem)bindable;
+            return instance.InternalIcon;
+        });
+
+        /// <summary>
+        /// TextProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(DefaultTitleItem), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (DefaultTitleItem)bindable;
+            if (newValue != null)
+            {
+                instance.InternalText = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (DefaultTitleItem)bindable;
+            return instance.InternalText;
+        });
+    }
+}
index e299209..935e314 100755 (executable)
@@ -28,6 +28,42 @@ namespace Tizen.NUI.Components
     public abstract class RecyclerView : ScrollableBase, ICollectionChangedNotifier
     {
         /// <summary>
+        /// ItemsSourceProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ItemsSourceProperty = BindableProperty.Create(nameof(ItemsSource), typeof(IEnumerable), typeof(RecyclerView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (RecyclerView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemsSource = newValue as IEnumerable;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (RecyclerView)bindable;
+            return instance.InternalItemsSource;
+        });
+
+        /// <summary>
+        /// ItemTemplateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ItemTemplateProperty = BindableProperty.Create(nameof(ItemTemplate), typeof(DataTemplate), typeof(RecyclerView), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (RecyclerView)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemTemplate = newValue as DataTemplate;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (RecyclerView)bindable;
+            return instance.InternalItemTemplate;
+        });
+
+        /// <summary>
         /// Base Constructor
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
@@ -40,13 +76,37 @@ namespace Tizen.NUI.Components
         /// Item's source data.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
-        public virtual IEnumerable ItemsSource { get; set; }
+        public virtual IEnumerable ItemsSource
+        {
+            get
+            {
+                return GetValue(ItemsSourceProperty) as IEnumerable;
+            }
+            set
+            {
+                SetValue(ItemsSourceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private IEnumerable InternalItemsSource { get; set; }
 
         /// <summary>
         /// DataTemplate for items.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
-        public virtual DataTemplate ItemTemplate { get; set; }
+        public virtual DataTemplate ItemTemplate
+        {
+            get
+            {
+                return GetValue(ItemTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(ItemTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalItemTemplate { get; set; }
 
         /// <summary>
         /// Internal encapsulated items data source.
diff --git a/src/Tizen.NUI.Components/Controls/ScrollBarBindableProperty.cs b/src/Tizen.NUI.Components/Controls/ScrollBarBindableProperty.cs
new file mode 100755 (executable)
index 0000000..ab294c8
--- /dev/null
@@ -0,0 +1,80 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class ScrollBar
+    {
+        /// <summary>
+        /// ThumbSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbSizeProperty = BindableProperty.Create(nameof(ThumbSize), typeof(Size), typeof(ScrollBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollBar)bindable;
+            return instance.InternalThumbSize;
+        });
+
+        /// <summary>
+        /// TrackImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TrackImageURLProperty = BindableProperty.Create(nameof(TrackImageURL), typeof(string), typeof(ScrollBar), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTrackImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollBar)bindable;
+            return instance.InternalTrackImageURL;
+        });
+
+        /// <summary>
+        /// TrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TrackColorProperty = BindableProperty.Create(nameof(TrackColor), typeof(Color), typeof(ScrollBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollBar)bindable;
+            return instance.InternalTrackColor;
+        });
+
+        /// <summary>
+        /// ThumbColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbColorProperty = BindableProperty.Create(nameof(ThumbColor), typeof(Color), typeof(ScrollBar), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollBar)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollBar)bindable;
+            return instance.InternalThumbColor;
+        });
+    }
+}
index 0ca84a7..4cf0d36 100755 (executable)
@@ -142,7 +142,7 @@ namespace Tizen.NUI.Components
     /// This class provides a View that can scroll a single View with a layout. This View can be a nest of Views.
     /// </summary>
     /// <since_tizen> 8 </since_tizen>
-    public class ScrollableBase : Control
+    public partial class ScrollableBase : Control
     {
         static bool LayoutDebugScrollableBase = false; // Debug flag
         private Direction mScrollingDirection = Direction.Vertical;
@@ -254,6 +254,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (Direction)GetValue(ScrollingDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollingDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Direction InternalScrollingDirection
+        {
+            get
+            {
                 return mScrollingDirection;
             }
             set
@@ -283,6 +295,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(ScrollEnabledProperty);
+            }
+            set
+            {
+                SetValue(ScrollEnabledProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalScrollEnabled
+        {
+            get
+            {
                 return mScrollEnabled;
             }
             set
@@ -316,7 +340,19 @@ namespace Tizen.NUI.Components
         /// Default is false.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public bool SnapToPage { set; get; } = false;
+        public bool SnapToPage
+        {
+            get
+            {
+                return (bool)GetValue(SnapToPageProperty);
+            }
+            set
+            {
+                SetValue(SnapToPageProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalSnapToPage { set; get; } = false;
 
         /// <summary>
         /// Get current page.
@@ -332,6 +368,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 8 </since_tizen>
         public int ScrollDuration
         {
+            get
+            {
+                return (int)GetValue(ScrollDurationProperty);
+            }
+            set
+            {
+                SetValue(ScrollDurationProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalScrollDuration
+        {
             set
             {
                 mScrollDuration = value >= 0 ? value : mScrollDuration;
@@ -346,7 +394,19 @@ namespace Tizen.NUI.Components
         /// Scroll Available area.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public Vector2 ScrollAvailableArea { set; get; }
+        public Vector2 ScrollAvailableArea
+        {
+            get
+            {
+                return GetValue(ScrollAvailableAreaProperty) as Vector2;
+            }
+            set
+            {
+                SetValue(ScrollAvailableAreaProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Vector2 InternalScrollAvailableArea { set; get; }
 
         /// <summary>
         /// An event emitted when user starts dragging ScrollableBase, user can subscribe or unsubscribe to this event handler.<br />
@@ -392,6 +452,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ScrollbarProperty) as ScrollbarBase;
+            }
+            set
+            {
+                SetValue(ScrollbarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ScrollbarBase InternalScrollbar
+        {
+            get
+            {
                 return scrollBar;
             }
             set
@@ -429,6 +501,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(HideScrollbarProperty);
+            }
+            set
+            {
+                SetValue(HideScrollbarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalHideScrollbar
+        {
+            get
+            {
                 return hideScrollbar;
             }
             set
@@ -463,6 +547,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(LayoutProperty) as LayoutItem;
+            }
+            set
+            {
+                SetValue(LayoutProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private LayoutItem InternalLayout
+        {
+            get
+            {
                 return ContentContainer.Layout;
             }
             set
@@ -493,6 +589,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(DecelerationRateProperty);
+            }
+            set
+            {
+                SetValue(DecelerationRateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalDecelerationRate
+        {
+            get
+            {
                 return decelerationRate;
             }
             set
@@ -506,7 +614,19 @@ namespace Tizen.NUI.Components
         /// Threshold not to go infinite at the end of scrolling animation.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public float DecelerationThreshold { get; set; } = 0.1f;
+        public float DecelerationThreshold
+        {
+            get
+            {
+                return (float)GetValue(DecelerationThresholdProperty);
+            }
+            set
+            {
+                SetValue(DecelerationThresholdProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalDecelerationThreshold { get; set; } = 0.1f;
 
         /// <summary>
         /// Scrolling event will be thrown when this amount of scroll position is changed.
@@ -519,6 +639,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(ScrollingEventThresholdProperty);
+            }
+            set
+            {
+                SetValue(ScrollingEventThresholdProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalScrollingEventThreshold
+        {
+            get
+            {
                 return mScrollingEventThreshold;
             }
             set
@@ -542,6 +674,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(PageFlickThresholdProperty);
+            }
+            set
+            {
+                SetValue(PageFlickThresholdProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPageFlickThreshold
+        {
+            get
+            {
                 return mPageFlickThreshold;
             }
             set
@@ -558,6 +702,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(PaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalPadding
+        {
+            get
+            {
                 return ContentContainer.Padding;
             }
             set
@@ -570,7 +726,19 @@ namespace Tizen.NUI.Components
         /// Alphafunction for scroll animation.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public AlphaFunction ScrollAlphaFunction { get; set; } = new AlphaFunction(AlphaFunction.BuiltinFunctions.Linear);
+        public AlphaFunction ScrollAlphaFunction
+        {
+            get
+            {
+                return GetValue(ScrollAlphaFunctionProperty) as AlphaFunction;
+            }
+            set
+            {
+                SetValue(ScrollAlphaFunctionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private AlphaFunction InternalScrollAlphaFunction { get; set; } = new AlphaFunction(AlphaFunction.BuiltinFunctions.Linear);
 
         private bool hideScrollbar = true;
         private float maxScrollDistance;
@@ -593,6 +761,18 @@ namespace Tizen.NUI.Components
         // Let's consider more whether this needs to be set as protected.
         public float NoticeAnimationEndBeforePosition
         {
+            get
+            {
+                return (float)GetValue(NoticeAnimationEndBeforePositionProperty);
+            }
+            set
+            {
+                SetValue(NoticeAnimationEndBeforePositionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalNoticeAnimationEndBeforePosition
+        {
             get => noticeAnimationEndBeforePosition;
             set => noticeAnimationEndBeforePosition = value;
         }
@@ -1110,7 +1290,19 @@ namespace Tizen.NUI.Components
         /// Enable/Disable overshooting effect. default is disabled.
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool EnableOverShootingEffect { get; set; } = false;
+        public bool EnableOverShootingEffect
+        {
+            get
+            {
+                return (bool)GetValue(EnableOverShootingEffectProperty);
+            }
+            set
+            {
+                SetValue(EnableOverShootingEffectProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalEnableOverShootingEffect { get; set; } = false;
 
         private void AttachOverShootingShadowView()
         {
diff --git a/src/Tizen.NUI.Components/Controls/ScrollableBaseBindableProperty.cs b/src/Tizen.NUI.Components/Controls/ScrollableBaseBindableProperty.cs
new file mode 100755 (executable)
index 0000000..ff05089
--- /dev/null
@@ -0,0 +1,296 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class ScrollableBase
+    {
+        /// <summary>
+        /// ScrollingDirectionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollingDirectionProperty = BindableProperty.Create(nameof(ScrollingDirection), typeof(Direction), typeof(ScrollableBase), default(Direction), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollingDirection = (Direction)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollingDirection;
+        });
+
+        /// <summary>
+        /// ScrollEnabledProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollEnabledProperty = BindableProperty.Create(nameof(ScrollEnabled), typeof(bool), typeof(ScrollableBase), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollEnabled = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollEnabled;
+        });
+
+        /// <summary>
+        /// SnapToPageProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SnapToPageProperty = BindableProperty.Create(nameof(SnapToPage), typeof(bool), typeof(ScrollableBase), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSnapToPage = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalSnapToPage;
+        });
+
+        /// <summary>
+        /// ScrollDurationProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollDurationProperty = BindableProperty.Create(nameof(ScrollDuration), typeof(int), typeof(ScrollableBase), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollDuration = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollDuration;
+        });
+
+        /// <summary>
+        /// ScrollAvailableAreaProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollAvailableAreaProperty = BindableProperty.Create(nameof(ScrollAvailableArea), typeof(Vector2), typeof(ScrollableBase), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollAvailableArea = newValue as Vector2;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollAvailableArea;
+        });
+
+        /// <summary>
+        /// ScrollbarProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollbarProperty = BindableProperty.Create(nameof(Scrollbar), typeof(ScrollbarBase), typeof(ScrollableBase), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollbar = newValue as ScrollbarBase;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollbar;
+        });
+
+        /// <summary>
+        /// HideScrollbarProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HideScrollbarProperty = BindableProperty.Create(nameof(HideScrollbar), typeof(bool), typeof(ScrollableBase), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHideScrollbar = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalHideScrollbar;
+        });
+
+        /// <summary>
+        /// LayoutProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty LayoutProperty = BindableProperty.Create(nameof(Layout), typeof(LayoutItem), typeof(ScrollableBase), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLayout = newValue as LayoutItem;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalLayout;
+        });
+
+        /// <summary>
+        /// DecelerationRateProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DecelerationRateProperty = BindableProperty.Create(nameof(DecelerationRate), typeof(float), typeof(ScrollableBase), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDecelerationRate = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalDecelerationRate;
+        });
+
+        /// <summary>
+        /// DecelerationThresholdProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DecelerationThresholdProperty = BindableProperty.Create(nameof(DecelerationThreshold), typeof(float), typeof(ScrollableBase), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDecelerationThreshold = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalDecelerationThreshold;
+        });
+
+        /// <summary>
+        /// ScrollingEventThresholdProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollingEventThresholdProperty = BindableProperty.Create(nameof(ScrollingEventThreshold), typeof(float), typeof(ScrollableBase), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollingEventThreshold = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollingEventThreshold;
+        });
+
+        /// <summary>
+        /// PageFlickThresholdProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PageFlickThresholdProperty = BindableProperty.Create(nameof(PageFlickThreshold), typeof(float), typeof(ScrollableBase), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPageFlickThreshold = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalPageFlickThreshold;
+        });
+
+        /// <summary>
+        /// PaddingProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly new BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(ScrollableBase), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPadding = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalPadding;
+        });
+
+        /// <summary>
+        /// ScrollAlphaFunctionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ScrollAlphaFunctionProperty = BindableProperty.Create(nameof(ScrollAlphaFunction), typeof(AlphaFunction), typeof(ScrollableBase), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalScrollAlphaFunction = newValue as AlphaFunction;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalScrollAlphaFunction;
+        });
+
+        /// <summary>
+        /// NoticeAnimationEndBeforePositionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty NoticeAnimationEndBeforePositionProperty = BindableProperty.Create(nameof(NoticeAnimationEndBeforePosition), typeof(float), typeof(ScrollableBase), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalNoticeAnimationEndBeforePosition = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalNoticeAnimationEndBeforePosition;
+        });
+
+        /// <summary>
+        /// EnableOverShootingEffectProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty EnableOverShootingEffectProperty = BindableProperty.Create(nameof(EnableOverShootingEffect), typeof(bool), typeof(ScrollableBase), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            if (newValue != null)
+            {
+                instance.InternalEnableOverShootingEffect = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (ScrollableBase)bindable;
+            return instance.InternalEnableOverShootingEffect;
+        });
+    }
+}
index 7ac6ed9..905a78b 100755 (executable)
@@ -67,10 +67,10 @@ namespace Tizen.NUI.Components
     public partial class Slider : Control
     {
         /// <summary>
-        /// IndicatorTypeProperty
+        /// SpaceBetweenTrackAndIndicatorProperty
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty IndicatorTypeProperty = BindableProperty.Create("IndicatorType", typeof(IndicatorType), typeof(Slider), IndicatorType.None, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty IndicatorProperty = BindableProperty.Create(nameof(Indicator), typeof(IndicatorType), typeof(Slider), IndicatorType.None, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var instance = (Slider)bindable;
             if (newValue != null)
@@ -395,6 +395,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (DirectionType)GetValue(DirectionProperty);
+            }
+            set
+            {
+                SetValue(DirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DirectionType InternalDirection
+        {
+            get
+            {
                 return direction;
             }
             set
@@ -420,11 +432,11 @@ namespace Tizen.NUI.Components
         {
             get
             {
-                return (IndicatorType)GetValue(IndicatorTypeProperty);
+                return (IndicatorType)GetValue(IndicatorProperty);
             }
             set
             {
-                SetValue(IndicatorTypeProperty, value);
+                SetValue(IndicatorProperty, value);
             }
         }
 
@@ -436,6 +448,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(MinValueProperty);
+            }
+            set
+            {
+                SetValue(MinValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalMinValue
+        {
+            get
+            {
                 return minValue;
             }
             set
@@ -453,6 +477,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(MaxValueProperty);
+            }
+            set
+            {
+                SetValue(MaxValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalMaxValue
+        {
+            get
+            {
                 return maxValue;
             }
             set
@@ -486,6 +522,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ThumbSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalThumbSize
+        {
+            get
+            {
                 return thumbImage?.Size;
             }
             set
@@ -508,6 +556,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(ThumbImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalThumbImageURL
+        {
+            get
+            {
                 return thumbImage?.ResourceUrl;
             }
             set
@@ -530,6 +590,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector ThumbImageURLSelector
         {
+            get
+            {
+                return GetValue(ThumbImageURLSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(ThumbImageURLSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalThumbImageURLSelector
+        {
             get => thumbImage == null ? null : new StringSelector(thumbImage.ResourceUrlSelector);
             set
             {
@@ -553,6 +625,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbImageUrlProperty) as Selector<string>;
+            }
+            set
+            {
+                SetValue(ThumbImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Selector<string> InternalThumbImageUrl
+        {
+            get
+            {
                 if (thumbImage == null)
                 {
                     return null;
@@ -583,6 +667,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalThumbColor
+        {
+            get
+            {
                 return thumbImage?.Color;
             }
             set
@@ -603,6 +699,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(BgTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(BgTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalBgTrackColor
+        {
+            get
+            {
                 return bgTrackImage?.BackgroundColor;
             }
             set
@@ -622,6 +730,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SlidedTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(SlidedTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalSlidedTrackColor
+        {
+            get
+            {
                 return slidedTrackImage?.BackgroundColor;
             }
             set
@@ -658,6 +778,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(WarningStartValueProperty);
+            }
+            set
+            {
+                SetValue(WarningStartValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalWarningStartValue
+        {
+            get
+            {
                 return warningStartValue;
             }
             set
@@ -676,6 +808,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(WarningTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningTrackColor
+        {
+            get
+            {
                 return warningTrackImage?.BackgroundColor;
             }
             set
@@ -696,6 +840,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(WarningSlidedTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningSlidedTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningSlidedTrackColor
+        {
+            get
+            {
                 return warningSlidedTrackImage?.BackgroundColor;
             }
             set
@@ -717,6 +873,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(WarningThumbImageUrlProperty) as Selector<string>;
+            }
+            set
+            {
+                SetValue(WarningThumbImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Selector<string> InternalWarningThumbImageUrl
+        {
+            get
+            {
                 return warningThumbImageUrlSelector;
             }
             set
@@ -741,6 +909,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(WarningThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningThumbColor
+        {
+            get
+            {
                 return warningThumbColor;
             }
             set
@@ -757,6 +937,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(LowIndicatorImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(LowIndicatorImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalLowIndicatorImageURL
+        {
+            get
+            {
                 return lowIndicatorImage?.ResourceUrl;
             }
             set
@@ -774,6 +966,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(HighIndicatorImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(HighIndicatorImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalHighIndicatorImageURL
+        {
+            get
+            {
                 return highIndicatorImage?.ResourceUrl;
             }
             set
@@ -791,6 +995,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(LowIndicatorTextContentProperty) as string;
+            }
+            set
+            {
+                SetValue(LowIndicatorTextContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalLowIndicatorTextContent
+        {
+            get
+            {
                 return lowIndicatorText?.Text;
             }
             set
@@ -810,6 +1026,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(HighIndicatorTextContentProperty) as string;
+            }
+            set
+            {
+                SetValue(HighIndicatorTextContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalHighIndicatorTextContent
+        {
+            get
+            {
                 return highIndicatorText?.Text;
             }
             set
@@ -829,6 +1057,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(LowIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(LowIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalLowIndicatorSize
+        {
+            get
+            {
                 return lowIndicatorSize;
             }
             set
@@ -849,6 +1089,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(HighIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(HighIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalHighIndicatorSize
+        {
+            get
+            {
                 return highIndicatorText?.Size;
             }
             set
@@ -916,6 +1168,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ValueIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ValueIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalValueIndicatorSize
+        {
+            get
+            {
                 return valueIndicatorImage?.Size;
             }
             set
@@ -935,6 +1199,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ValueIndicatorUrlProperty) as string;
+            }
+            set
+            {
+                SetValue(ValueIndicatorUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalValueIndicatorUrl
+        {
+            get
+            {
                 return valueIndicatorImage?.ResourceUrl;
             }
             set
@@ -952,7 +1228,19 @@ namespace Tizen.NUI.Components
         /// The default value is false.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
-        public bool IsDiscrete { get; set; } = false;
+        public bool IsDiscrete
+        {
+            get
+            {
+                return (bool)GetValue(IsDiscreteProperty);
+            }
+            set
+            {
+                SetValue(IsDiscreteProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalIsDiscrete { get; set; } = false;
 
         /// <summary>
         /// Gets or sets the discrete value of slider.
@@ -968,6 +1256,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(DiscreteValueProperty);
+            }
+            set
+            {
+                SetValue(DiscreteValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalDiscreteValue
+        {
+            get
+            {
                 return discreteValue;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/SliderBindableProperty.cs b/src/Tizen.NUI.Components/Controls/SliderBindableProperty.cs
new file mode 100755 (executable)
index 0000000..e0459cb
--- /dev/null
@@ -0,0 +1,460 @@
+using System.ComponentModel;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Slider
+    {
+        /// <summary>
+        /// DirectionProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DirectionProperty = BindableProperty.Create(nameof(Direction), typeof(DirectionType), typeof(Slider), default(DirectionType), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDirection = (DirectionType)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalDirection;
+        });
+
+        /// <summary>
+        /// MinValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MinValueProperty = BindableProperty.Create(nameof(MinValue), typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalMinValue = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalMinValue;
+        });
+
+        /// <summary>
+        /// MaxValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MaxValueProperty = BindableProperty.Create(nameof(MaxValue), typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalMaxValue = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalMaxValue;
+        });
+
+        /// <summary>
+        /// ThumbSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbSizeProperty = BindableProperty.Create(nameof(ThumbSize), typeof(Size), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalThumbSize;
+        });
+
+        /// <summary>
+        /// ThumbImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbImageURLProperty = BindableProperty.Create(nameof(ThumbImageURL), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalThumbImageURL;
+        });
+
+        /// <summary>
+        /// ThumbImageURLSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbImageURLSelectorProperty = BindableProperty.Create(nameof(ThumbImageURLSelector), typeof(StringSelector), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbImageURLSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalThumbImageURLSelector;
+        });
+
+        /// <summary>
+        /// ThumbImageUrlProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbImageUrlProperty = BindableProperty.Create(nameof(ThumbImageUrl), typeof(Selector<string>), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbImageUrl = newValue as Tizen.NUI.BaseComponents.Selector<string>;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalThumbImageUrl;
+        });
+
+        /// <summary>
+        /// ThumbColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ThumbColorProperty = BindableProperty.Create(nameof(ThumbColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalThumbColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalThumbColor;
+        });
+
+        /// <summary>
+        /// BgTrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BgTrackColorProperty = BindableProperty.Create(nameof(BgTrackColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalBgTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalBgTrackColor;
+        });
+
+        /// <summary>
+        /// SlidedTrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SlidedTrackColorProperty = BindableProperty.Create(nameof(SlidedTrackColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSlidedTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalSlidedTrackColor;
+        });
+
+        /// <summary>
+        /// WarningStartValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty WarningStartValueProperty = BindableProperty.Create(nameof(WarningStartValue), typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalWarningStartValue = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalWarningStartValue;
+        });
+
+        /// <summary>
+        /// WarningTrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty WarningTrackColorProperty = BindableProperty.Create(nameof(WarningTrackColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalWarningTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalWarningTrackColor;
+        });
+
+        /// <summary>
+        /// WarningSlidedTrackColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty WarningSlidedTrackColorProperty = BindableProperty.Create(nameof(WarningSlidedTrackColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalWarningSlidedTrackColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalWarningSlidedTrackColor;
+        });
+
+        /// <summary>
+        /// WarningThumbImageUrlProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty WarningThumbImageUrlProperty = BindableProperty.Create(nameof(WarningThumbImageUrl), typeof(Tizen.NUI.BaseComponents.Selector<string>), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalWarningThumbImageUrl = newValue as Tizen.NUI.BaseComponents.Selector<string>;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalWarningThumbImageUrl;
+        });
+
+        /// <summary>
+        /// WarningThumbColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty WarningThumbColorProperty = BindableProperty.Create(nameof(WarningThumbColor), typeof(Color), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalWarningThumbColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalWarningThumbColor;
+        });
+
+        /// <summary>
+        /// LowIndicatorImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty LowIndicatorImageURLProperty = BindableProperty.Create(nameof(LowIndicatorImageURL), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLowIndicatorImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalLowIndicatorImageURL;
+        });
+
+        /// <summary>
+        /// HighIndicatorImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HighIndicatorImageURLProperty = BindableProperty.Create(nameof(HighIndicatorImageURL), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHighIndicatorImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalHighIndicatorImageURL;
+        });
+
+        /// <summary>
+        /// LowIndicatorTextContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty LowIndicatorTextContentProperty = BindableProperty.Create(nameof(LowIndicatorTextContent), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLowIndicatorTextContent = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalLowIndicatorTextContent;
+        });
+
+        /// <summary>
+        /// HighIndicatorTextContentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HighIndicatorTextContentProperty = BindableProperty.Create(nameof(HighIndicatorTextContent), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHighIndicatorTextContent = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalHighIndicatorTextContent;
+        });
+
+        /// <summary>
+        /// LowIndicatorSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty LowIndicatorSizeProperty = BindableProperty.Create(nameof(LowIndicatorSize), typeof(Size), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalLowIndicatorSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalLowIndicatorSize;
+        });
+
+        /// <summary>
+        /// HighIndicatorSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty HighIndicatorSizeProperty = BindableProperty.Create(nameof(HighIndicatorSize), typeof(Size), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalHighIndicatorSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalHighIndicatorSize;
+        });
+
+        /// <summary>
+        /// ValueIndicatorSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ValueIndicatorSizeProperty = BindableProperty.Create(nameof(ValueIndicatorSize), typeof(Size), typeof(Slider), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalValueIndicatorSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalValueIndicatorSize;
+        });
+
+        /// <summary>
+        /// ValueIndicatorUrlProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ValueIndicatorUrlProperty = BindableProperty.Create(nameof(ValueIndicatorUrl), typeof(string), typeof(Slider), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalValueIndicatorUrl = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalValueIndicatorUrl;
+        });
+
+        /// <summary>
+        /// IsDiscreteProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty IsDiscreteProperty = BindableProperty.Create(nameof(IsDiscrete), typeof(bool), typeof(Slider), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIsDiscrete = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalIsDiscrete;
+        });
+
+        /// <summary>
+        /// DiscreteValueProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DiscreteValueProperty = BindableProperty.Create(nameof(DiscreteValue), typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Slider)bindable;
+            if (newValue != null)
+            {
+                instance.InternalDiscreteValue = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Slider)bindable;
+            return instance.InternalDiscreteValue;
+        });
+
+    }
+}
old mode 100644 (file)
new mode 100755 (executable)
index 6e2bd80..7430b1d
@@ -27,7 +27,7 @@ namespace Tizen.NUI.Components
     /// The icon part consists of track and thumb.
     /// </summary>
     /// <since_tizen> 6 </since_tizen>
-    public class Switch : Button
+    public partial class Switch : Button
     {
         private ImageView thumb = null;
 
@@ -172,6 +172,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector SwitchBackgroundImageURLSelector
         {
+            get
+            {
+                return GetValue(SwitchBackgroundImageURLSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(SwitchBackgroundImageURLSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalSwitchBackgroundImageURLSelector
+        {
             get => new StringSelector(Icon.ResourceUrlSelector);
             set
             {
@@ -188,6 +200,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SwitchHandlerImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(SwitchHandlerImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalSwitchHandlerImageURL
+        {
+            get
+            {
                 return Thumb.ResourceUrl;
             }
             set
@@ -203,6 +227,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         public StringSelector SwitchHandlerImageURLSelector
         {
+            get
+            {
+                return GetValue(SwitchHandlerImageURLSelectorProperty) as StringSelector;
+            }
+            set
+            {
+                SetValue(SwitchHandlerImageURLSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private StringSelector InternalSwitchHandlerImageURLSelector
+        {
             get => new StringSelector(thumb.ResourceUrlSelector);
             set
             {
@@ -219,6 +255,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SwitchHandlerImageSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(SwitchHandlerImageSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalSwitchHandlerImageSize
+        {
+            get
+            {
                 return Thumb.Size;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/SwitchBindableProperty.cs b/src/Tizen.NUI.Components/Controls/SwitchBindableProperty.cs
new file mode 100755 (executable)
index 0000000..094e807
--- /dev/null
@@ -0,0 +1,81 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Switch
+    {
+        /// <summary>
+        /// SwitchBackgroundImageURLSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SwitchBackgroundImageURLSelectorProperty = BindableProperty.Create(nameof(SwitchBackgroundImageURLSelector), typeof(StringSelector), typeof(Switch), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Switch)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSwitchBackgroundImageURLSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Switch)bindable;
+            return instance.InternalSwitchBackgroundImageURLSelector;
+        });
+
+        /// <summary>
+        /// SwitchHandlerImageURLProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SwitchHandlerImageURLProperty = BindableProperty.Create(nameof(SwitchHandlerImageURL), typeof(string), typeof(Switch), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Switch)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSwitchHandlerImageURL = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Switch)bindable;
+            return instance.InternalSwitchHandlerImageURL;
+        });
+
+        /// <summary>
+        /// SwitchHandlerImageURLSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SwitchHandlerImageURLSelectorProperty = BindableProperty.Create(nameof(SwitchHandlerImageURLSelector), typeof(StringSelector), typeof(Switch), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Switch)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSwitchHandlerImageURLSelector = newValue as StringSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Switch)bindable;
+            return instance.InternalSwitchHandlerImageURLSelector;
+        });
+
+        /// <summary>
+        /// SwitchHandlerImageSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SwitchHandlerImageSizeProperty = BindableProperty.Create(nameof(SwitchHandlerImageSize), typeof(Size), typeof(Switch), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Switch)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSwitchHandlerImageSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Switch)bindable;
+            return instance.InternalSwitchHandlerImageSize;
+        });
+
+    }
+}
index aa596ef..42ea676 100755 (executable)
@@ -27,7 +27,7 @@ namespace Tizen.NUI.Components
     /// </summary>
     /// <since_tizen> 6 </since_tizen>
     [Obsolete("Deprecated in API8; Will be removed in API10")]
-    public class Tab : Control
+    public partial class Tab : Control
     {
         private const int aniTime = 100; // will be defined in const file later
         private List<TabItem> itemList = new List<TabItem>();
@@ -121,6 +121,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(SelectedItemIndexProperty);
+            }
+            set
+            {
+                SetValue(SelectedItemIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalSelectedItemIndex
+        {
+            get
+            {
                 return curIndex;
             }
             set
@@ -142,6 +154,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(UseTextNaturalSizeProperty);
+            }
+            set
+            {
+                SetValue(UseTextNaturalSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalUseTextNaturalSize
+        {
+            get
+            {
                 return tabStyle?.UseTextNaturalSize ?? false;
             }
             set
@@ -163,6 +187,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (int)GetValue(ItemSpaceProperty);
+            }
+            set
+            {
+                SetValue(ItemSpaceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalItemSpace
+        {
+            get
+            {
                 return tabStyle?.ItemSpace ?? 0;
             }
             set
@@ -184,6 +220,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(SpaceProperty) as Extents;
+            }
+            set
+            {
+                SetValue(SpaceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalSpace
+        {
+            get
+            {
                 return ItemPadding;
             }
             set
@@ -202,6 +250,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(ItemPaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(ItemPaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalItemPadding
+        {
+            get
+            {
                 return space;
             }
             set
@@ -240,6 +300,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(UnderLineSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(UnderLineSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalUnderLineSize
+        {
+            get
+            {
                 return Underline.Size;
             }
             set
@@ -261,6 +333,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(UnderLineBackgroundColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(UnderLineBackgroundColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalUnderLineBackgroundColor
+        {
+            get
+            {
                 return Underline.BackgroundColor;
             }
             set
@@ -282,6 +366,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
+        {
+            get
+            {
                 return tabStyle?.Text?.PointSize?.All ?? 0;
             }
             set
@@ -303,6 +399,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
+        {
+            get
+            {
                 return tabStyle?.Text?.FontFamily?.All;
             }
             set
@@ -324,6 +432,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
+        {
+            get
+            {
                 return tabStyle?.Text?.TextColor?.All;
             }
             set
@@ -346,6 +466,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextColorSelectorProperty) as ColorSelector;
+            }
+            set
+            {
+                SetValue(TextColorSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ColorSelector InternalTextColorSelector
+        {
+            get
+            {
                 return textColorSelector;
             }
             set
diff --git a/src/Tizen.NUI.Components/Controls/TabBindableProperty.cs b/src/Tizen.NUI.Components/Controls/TabBindableProperty.cs
new file mode 100755 (executable)
index 0000000..89af438
--- /dev/null
@@ -0,0 +1,207 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Tab
+    {
+        /// <summary>
+        /// SelectedItemIndexProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SelectedItemIndexProperty = BindableProperty.Create(nameof(SelectedItemIndex), typeof(int), typeof(Tab), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSelectedItemIndex = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalSelectedItemIndex;
+        });
+
+        /// <summary>
+        /// UseTextNaturalSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty UseTextNaturalSizeProperty = BindableProperty.Create(nameof(UseTextNaturalSize), typeof(bool), typeof(Tab), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalUseTextNaturalSize = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalUseTextNaturalSize;
+        });
+
+        /// <summary>
+        /// ItemSpaceProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ItemSpaceProperty = BindableProperty.Create(nameof(ItemSpace), typeof(int), typeof(Tab), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemSpace = (int)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalItemSpace;
+        });
+
+        /// <summary>
+        /// SpaceProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty SpaceProperty = BindableProperty.Create(nameof(Space), typeof(Extents), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalSpace = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalSpace;
+        });
+
+        /// <summary>
+        /// ItemPaddingProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ItemPaddingProperty = BindableProperty.Create(nameof(ItemPadding), typeof(Extents), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalItemPadding = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalItemPadding;
+        });
+
+        /// <summary>
+        /// UnderLineSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty UnderLineSizeProperty = BindableProperty.Create(nameof(UnderLineSize), typeof(Size), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalUnderLineSize = newValue as Size;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalUnderLineSize;
+        });
+
+        /// <summary>
+        /// UnderLineBackgroundColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty UnderLineBackgroundColorProperty = BindableProperty.Create(nameof(UnderLineBackgroundColor), typeof(Color), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalUnderLineBackgroundColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalUnderLineBackgroundColor;
+        });
+
+        /// <summary>
+        /// PointSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(Tab), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPointSize = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalPointSize;
+        });
+
+        /// <summary>
+        /// FontFamilyProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(Tab), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFontFamily = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalFontFamily;
+        });
+
+        /// <summary>
+        /// TextColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalTextColor;
+        });
+
+        /// <summary>
+        /// TextColorSelectorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create(nameof(TextColorSelector), typeof(ColorSelector), typeof(Tab), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Tab)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextColorSelector = newValue as ColorSelector;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Tab)bindable;
+            return instance.InternalTextColorSelector;
+        });
+
+    }
+}
index 6d47363..b6b65bd 100755 (executable)
@@ -20,6 +20,7 @@ using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Diagnostics.CodeAnalysis;
 using System.Globalization;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.Components
 {
@@ -55,6 +56,42 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     public class TimePicker : Control
     {
+        /// <summary>
+        /// TimeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TimeProperty = BindableProperty.Create(nameof(Time), typeof(DateTime), typeof(TimePicker), default(DateTime), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (TimePicker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTime = (DateTime)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (TimePicker)bindable;
+            return instance.InternalTime;
+        });
+
+        /// <summary>
+        /// Is24HourViewProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty Is24HourViewProperty = BindableProperty.Create(nameof(Is24HourView), typeof(bool), typeof(TimePicker), default(bool), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (TimePicker)bindable;
+            if (newValue != null)
+            {
+                instance.InternalIs24HourView = (bool)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (TimePicker)bindable;
+            return instance.InternalIs24HourView;
+        });
+
         private bool isAm;
         private bool is24HourView;
         private DateTime currentTime;
@@ -131,6 +168,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (DateTime)GetValue(TimeProperty);
+            }
+            set
+            {
+                SetValue(TimeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DateTime InternalTime
+        {
+            get
+            {
                 return currentTime;
             }
             set
@@ -166,6 +215,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (bool)GetValue(Is24HourViewProperty);
+            }
+            set
+            {
+                SetValue(Is24HourViewProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalIs24HourView
+        {
+            get
+            {
                 return is24HourView;
             }
             set
index 061f135..d9fb74c 100755 (executable)
@@ -29,7 +29,7 @@ namespace Tizen.NUI.Components
     /// </summary>
     /// <since_tizen> 6 </since_tizen>
     [Obsolete("Deprecated in API8; Will be removed in API10")]
-    public class Toast : Control
+    public partial class Toast : Control
     {
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -127,6 +127,18 @@ namespace Tizen.NUI.Components
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public string[] TextArray
         {
+            get
+            {
+                return GetValue(TextArrayProperty) as string[];
+            }
+            set
+            {
+                SetValue(TextArrayProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string[] InternalTextArray
+        {
             get;
             set;
         }
@@ -140,6 +152,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
+        {
+            get
+            {
                 return (float)textLabel?.PointSize;
             }
             set
@@ -160,6 +184,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
+        {
+            get
+            {
                 return textLabel?.FontFamily;
             }
             set
@@ -180,6 +216,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
+        {
+            get
+            {
                 return textLabel?.TextColor;
             }
             set
@@ -200,6 +248,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return (HorizontalAlignment)GetValue(TextAlignmentProperty);
+            }
+            set
+            {
+                SetValue(TextAlignmentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private HorizontalAlignment InternalTextAlignment
+        {
+            get
+            {
                 return textLabel?.HorizontalAlignment ?? HorizontalAlignment.Center;
             }
             set
@@ -249,6 +309,18 @@ namespace Tizen.NUI.Components
         {
             get
             {
+                return GetValue(TextPaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(TextPaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalTextPadding
+        {
+            get
+            {
                 return textLabel?.Padding;
             }
             set
@@ -265,14 +337,38 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
-        public uint TextLineHeight { get; set; }
+        public uint TextLineHeight
+        {
+            get
+            {
+                return (UInt32)GetValue(TextLineHeightProperty);
+            }
+            set
+            {
+                SetValue(TextLineHeightProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private uint InternalTextLineHeight { get; set; }
 
         /// <summary>
         /// Gets or sets text line space in toast.
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
-        public uint TextLineSpace { get; set; }
+        public uint TextLineSpace
+        {
+            get
+            {
+                return (uint)GetValue(TextLineSpaceProperty);
+            }
+            set
+            {
+                SetValue(TextLineSpaceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private uint InternalTextLineSpace { get; set; }
 
         /// <summary>
         /// Gets or sets duration of toast.
diff --git a/src/Tizen.NUI.Components/Controls/ToastBindableProperty.cs b/src/Tizen.NUI.Components/Controls/ToastBindableProperty.cs
new file mode 100755 (executable)
index 0000000..7eb0e80
--- /dev/null
@@ -0,0 +1,153 @@
+using System.ComponentModel;
+using Tizen.NUI.Binding;
+
+namespace Tizen.NUI.Components
+{
+    public partial class Toast
+    {
+        /// <summary>
+        /// TextArrayProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextArrayProperty = BindableProperty.Create(nameof(TextArray), typeof(string[]), typeof(Toast), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextArray = newValue as string[];
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextArray;
+        });
+
+        /// <summary>
+        /// PointSizeProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(Toast), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalPointSize = (float)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalPointSize;
+        });
+
+        /// <summary>
+        /// FontFamilyProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(Toast), default(string), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalFontFamily = newValue as string;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalFontFamily;
+        });
+
+        /// <summary>
+        /// TextColorProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(Toast), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextColor = newValue as Color;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextColor;
+        });
+
+        /// <summary>
+        /// TextAlignmentProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextAlignmentProperty = BindableProperty.Create(nameof(TextAlignment), typeof(HorizontalAlignment), typeof(Toast), default(HorizontalAlignment), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextAlignment = (HorizontalAlignment)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextAlignment;
+        });
+
+        /// <summary>
+        /// TextPaddingProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextPaddingProperty = BindableProperty.Create(nameof(TextPadding), typeof(Extents), typeof(Toast), null, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextPadding = newValue as Extents;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextPadding;
+        });
+
+        /// <summary>
+        /// TextLineHeightProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextLineHeightProperty = BindableProperty.Create(nameof(TextLineHeight), typeof(uint), typeof(Toast), default(uint), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextLineHeight = (uint)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextLineHeight;
+        });
+
+        /// <summary>
+        /// TextLineSpaceProperty
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TextLineSpaceProperty = BindableProperty.Create(nameof(TextLineSpace), typeof(uint), typeof(Toast), default(uint), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var instance = (Toast)bindable;
+            if (newValue != null)
+            {
+                instance.InternalTextLineSpace = (uint)newValue;
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var instance = (Toast)bindable;
+            return instance.InternalTextLineSpace;
+        });
+
+    }
+}