[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 9e3a6003980f22f68d22dde9974b73ccc114bc8a..216acbe2b3549259b45b0f4def0cfc4eeb602481 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;
@@ -160,6 +160,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public string Title
+        {
+            get
+            {
+                return GetValue(TitleProperty) as string;
+            }
+            set
+            {
+                SetValue(TitleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTitle
         {
             get
             {
@@ -189,6 +201,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View TitleContent
+        {
+            get
+            {
+                return GetValue(TitleContentProperty) as View;
+            }
+            set
+            {
+                SetValue(TitleContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalTitleContent
         {
             get
             {
@@ -228,6 +252,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public string Message
+        {
+            get
+            {
+                return GetValue(MessageProperty) as string;
+            }
+            set
+            {
+                SetValue(MessageProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalMessage
         {
             get
             {
@@ -257,6 +293,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View Content
+        {
+            get
+            {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
         {
             get
             {
@@ -341,6 +389,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View ActionContent
+        {
+            get
+            {
+                return GetValue(ActionContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ActionContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalActionContent
         {
              get
              {
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 05cec8ef2585f8ba25b0dd6a172b073fccc53bb9..d6e8305f44ee152df2d631702a0ba587aedc6afe 100755 (executable)
@@ -353,6 +353,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string Text
+        {
+            get
+            {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
         {
             get
             {
@@ -390,6 +402,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string TranslatableText
+        {
+            get
+            {
+                return GetValue(TranslatableTextProperty) as string;
+            }
+            set
+            {
+                SetValue(TranslatableTextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTranslatableText
         {
             get
             {
@@ -406,6 +430,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public float PointSize
+        {
+            get
+            {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
         {
             get
             {
@@ -422,6 +458,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string FontFamily
+        {
+            get
+            {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
         {
             get
             {
@@ -438,6 +486,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Color TextColor
+        {
+            get
+            {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
         {
             get
             {
@@ -454,6 +514,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public HorizontalAlignment TextAlignment
+        {
+            get
+            {
+                return (HorizontalAlignment)GetValue(TextAlignmentProperty);
+            }
+            set
+            {
+                SetValue(TextAlignmentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private HorizontalAlignment InternalTextAlignment
         {
             get
             {
@@ -470,6 +542,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string IconURL
+        {
+            get
+            {
+                return GetValue(IconURLProperty) as string;
+            }
+            set
+            {
+                SetValue(IconURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalIconURL
         {
             get
             {
@@ -486,6 +570,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [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;
@@ -498,6 +594,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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
@@ -520,6 +628,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <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
@@ -542,6 +662,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <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
@@ -564,6 +696,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <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
@@ -586,6 +730,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <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 9e2da96cd39a6fd68f76cfa6825605939853601b..0c51794ad11bf253e0c31ad9923e2f5c1fda40a7 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());
@@ -99,6 +117,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool Feedback
+        {
+            get
+            {
+                return (bool)GetValue(FeedbackProperty);
+            }
+            set
+            {
+                SetValue(FeedbackProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalFeedback
         {
             get => feedback != null;
             set
index e5e053738d69085cab10c4c084d1732be525145f..c7223b42c63b292013b9c29c9fa96a10d1c05dce 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;
@@ -128,6 +147,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public DateTime Date
+        {
+            get
+            {
+                return (DateTime)GetValue(DateProperty);
+            }
+            set
+            {
+                SetValue(DateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DateTime InternalDate
         {
             get
             {
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>
@@ -68,6 +87,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View Content
+        {
+            get
+            {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
         {
             get
             {
index 73a635f42a422da7fcd6a84ec53a2fe1cd8c41fa..ca69f12af6d1c712216a8a40e1b8bcaaf2006db0 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
 {
@@ -59,6 +60,42 @@ namespace Tizen.NUI.Components
     [EditorBrowsable(EditorBrowsableState.Never)]
     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>
@@ -183,6 +220,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public new Extents Padding
+        {
+            get
+            {
+                return GetValue(PaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalPadding
         {
             get
             {
@@ -223,6 +272,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int FocusedItemIndex
+        {
+            get
+            {
+                return (int)GetValue(FocusedItemIndexProperty);
+            }
+            set
+            {
+                SetValue(FocusedItemIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalFocusedItemIndex
         {
             get
             {
index 7966172184c0a85ac797c29da20df42a311dc2b5..f2b3b4ce4e19e5a4892ab922ac35cd4dece46c77 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)]
@@ -231,6 +231,18 @@ namespace Tizen.NUI.Components
         /// This will be deprecated
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Size ThumbSize
+        {
+            get
+            {
+                return GetValue(ThumbSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ThumbSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalThumbSize
         {
             get
             {
@@ -253,6 +265,18 @@ namespace Tizen.NUI.Components
         /// This will be deprecated
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public string TrackImageURL
+        {
+            get
+            {
+                return GetValue(TrackImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(TrackImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTrackImageURL
         {
             get
             {
@@ -275,6 +299,18 @@ namespace Tizen.NUI.Components
         /// This will be deprecated
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color TrackColor
+        {
+            get
+            {
+                return GetValue(TrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTrackColor
         {
             get
             {
@@ -296,6 +332,18 @@ namespace Tizen.NUI.Components
         /// This will be deprecated
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color ThumbColor
+        {
+            get
+            {
+                return GetValue(ThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalThumbColor
         {
             get
             {
index 383e34a996453bc94cdbd22828c872ebe6f676f8..b54654f9e5f5b76454f106317430001bfed77772 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) =>
@@ -142,6 +160,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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 beeab4f7f283b32f7e7227aae7eea5b747a710bf..4f3343504629b734d2983166c4c7dafa4854de0f 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;
@@ -157,6 +157,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View Anchor
+        {
+            get
+            {
+                return GetValue(AnchorProperty) as View;
+            }
+            set
+            {
+                SetValue(AnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalAnchor
         {
             get
             {
@@ -191,6 +203,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public RelativePosition HorizontalPositionToAnchor
+        {
+            get
+            {
+                return (RelativePosition)GetValue(HorizontalPositionToAnchorProperty);
+            }
+            set
+            {
+                SetValue(HorizontalPositionToAnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RelativePosition InternalHorizontalPositionToAnchor
         {
             get
             {
@@ -221,6 +245,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public RelativePosition VerticalPositionToAnchor
+        {
+            get
+            {
+                return (RelativePosition)GetValue(VerticalPositionToAnchorProperty);
+            }
+            set
+            {
+                SetValue(VerticalPositionToAnchorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private RelativePosition InternalVerticalPositionToAnchor
         {
             get
             {
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 28e51b9e2d334bc6db77f1791df1d659ab23f457..39cbf9e905ab12703002d21a9a23ef55ed73e38e 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;
 
@@ -163,6 +163,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View NavigationContent
+        {
+            get
+            {
+                return GetValue(NavigationContentProperty) as View;
+            }
+            set
+            {
+                SetValue(NavigationContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalNavigationContent
         {
             get
             {
@@ -197,6 +209,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public string Title
+        {
+            get
+            {
+                return GetValue(TitleProperty) as string;
+            }
+            set
+            {
+                SetValue(TitleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalTitle
         {
             get
             {
@@ -225,6 +249,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View TitleContent
+        {
+            get
+            {
+                return GetValue(TitleContentProperty) as View;
+            }
+            set
+            {
+                SetValue(TitleContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalTitleContent
         {
             get
             {
@@ -322,6 +358,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View ActionContent
+        {
+            get
+            {
+                return GetValue(ActionContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ActionContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalActionContent
         {
             get
             {
@@ -380,6 +428,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public bool AutoNavigationContent
+        {
+            get
+            {
+                return (bool)GetValue(AutoNavigationContentProperty);
+            }
+            set
+            {
+                SetValue(AutoNavigationContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalAutoNavigationContent
         {
             get
             {
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 9b53d6a2ad0bd2e9f29af8f41b8f848d62478de4..9f4ac040a1ee71a5501d91d15f3636084224e6f6 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;
@@ -86,6 +86,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public AppBar AppBar
+        {
+            get
+            {
+                return GetValue(AppBarProperty) as AppBar;
+            }
+            set
+            {
+                SetValue(AppBarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private AppBar InternalAppBar
         {
             get
             {
@@ -123,6 +135,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View Content
+        {
+            get
+            {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
         {
             get
             {
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 10da0c96e370b3d066c43676548e4ae748295043..aaea2c7aed7a535050601ed471bf652af85653c7 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;
@@ -86,6 +86,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public View Content
+        {
+            get
+            {
+                return GetValue(ContentProperty) as View;
+            }
+            set
+            {
+                SetValue(ContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalContent
         {
             get
             {
@@ -185,6 +197,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public bool EnableScrim
+        {
+            get
+            {
+                return (bool)GetValue(EnableScrimProperty);
+            }
+            set
+            {
+                SetValue(EnableScrimProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalEnableScrim
         {
             get
             {
@@ -217,13 +241,37 @@ 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.
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public Color ScrimColor
+        {
+            get
+            {
+                return GetValue(ScrimColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ScrimColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalScrimColor
         {
             get
             {
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 8780afdb3e3b5b4dc997e2dac00b289258923ab7..f00a4cc63b4a7d61b85f6fd4a5afcd44bb0ba83a 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.
@@ -142,6 +161,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public Transition Transition
+        {
+            get
+            {
+                return GetValue(TransitionProperty) as Transition;
+            }
+            set
+            {
+                SetValue(TransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Transition InternalTransition
         {
             set
             {
index 98f17c274b197eae6dc587e3e578ab6aaecedcfa..fba94758fb65e286fa73dbdc6b98aa92b8aef786 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.
@@ -99,6 +136,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public TransitionBase AppearingTransition
+        {
+            get
+            {
+                return GetValue(AppearingTransitionProperty) as TransitionBase;
+            }
+            set
+            {
+                SetValue(AppearingTransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private TransitionBase InternalAppearingTransition
         {
             set
             {
@@ -115,6 +164,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public TransitionBase DisappearingTransition
+        {
+            get
+            {
+                return GetValue(DisappearingTransitionProperty) as TransitionBase;
+            }
+            set
+            {
+                SetValue(DisappearingTransitionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private TransitionBase InternalDisappearingTransition
         {
             set
             {
index 9da3e445f95572ecfb484ff624a1d2f7c4f454dd..f7e50172dc63cfe755d5941b0ebf521afa63803f 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)]
@@ -149,6 +149,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [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
@@ -178,6 +190,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 8 </since_tizen>
         /// <exception cref="ArgumentException">Thrown when the given value is negative.</exception>
         public int IndicatorCount
+        {
+            get
+            {
+                return (int)GetValue(IndicatorCountProperty);
+            }
+            set
+            {
+                SetValue(IndicatorCountProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalIndicatorCount
         {
             get
             {
@@ -249,6 +273,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public Color IndicatorColor
+        {
+            get
+            {
+                return GetValue(IndicatorColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(IndicatorColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalIndicatorColor
         {
             get
             {
@@ -304,6 +340,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public Color SelectedIndicatorColor
+        {
+            get
+            {
+                return GetValue(SelectedIndicatorColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(SelectedIndicatorColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalSelectedIndicatorColor
         {
             get
             {
@@ -344,6 +392,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public int SelectedIndex
+        {
+            get
+            {
+                return (int)GetValue(SelectedIndexProperty);
+            }
+            set
+            {
+                SetValue(SelectedIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalSelectedIndex
         {
             get
             {
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 65bdeb1c78fb03814e970ccf54c813aee666d2e5..70eaf900b3261750555b3ca1315a7f09ac5fca7b 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;
@@ -183,6 +183,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public int CurrentValue
+        {
+            get
+            {
+                return (int)GetValue(CurrentValueProperty);
+            }
+            set
+            {
+                SetValue(CurrentValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalCurrentValue
         {
             get
             {
@@ -206,6 +218,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public int MaxValue
+        {
+            get
+            {
+                return (int)GetValue(MaxValueProperty);
+            }
+            set
+            {
+                SetValue(MaxValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalMaxValue
         {
             get
             {
@@ -228,6 +252,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public int MinValue
+        {
+            get
+            {
+                return (int)GetValue(MinValueProperty);
+            }
+            set
+            {
+                SetValue(MinValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalMinValue
         {
             get
             {
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 ed4d436516af4ef877b690e6976f39589efd90dc..14c25aefc360da994aff002681260457ac3c5b35 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)]
@@ -327,6 +327,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -338,6 +350,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -349,6 +373,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -360,6 +396,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -371,6 +419,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -382,6 +442,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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;
@@ -404,6 +476,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [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 5bbf963565a39794cf5e676fe7ff7c15255343fa..6fd82b8f3b6c634db80d433021f6a71e67fd54e7 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
@@ -236,6 +236,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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;
@@ -246,6 +258,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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;
@@ -256,6 +280,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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;
@@ -267,6 +303,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <since_tizen> 9 </since_tizen>
         public string IndeterminateImageUrl
+        {
+            get
+            {
+                return GetValue(IndeterminateImageUrlProperty) as string;
+            }
+            set
+            {
+                SetValue(IndeterminateImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalIndeterminateImageUrl
         {
             get
             {
@@ -297,6 +345,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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;
@@ -307,6 +367,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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;
@@ -317,6 +389,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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 fc7e4378ba03e8b9eff21375264fe2a3e7a90472..f2b05840c06ab156b1c668e165e4e70b57fe93e7 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.
@@ -267,6 +267,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public override DataTemplate ItemTemplate
+        {
+            get
+            {
+                return GetValue(ItemTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(ItemTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalItemTemplate
         {
             get
             {
@@ -294,6 +306,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public virtual ItemsLayouter ItemsLayouter
+        {
+            get
+            {
+                return GetValue(ItemsLayouterProperty) as ItemsLayouter;
+            }
+            set
+            {
+                SetValue(ItemsLayouterProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ItemsLayouter InternalItemsLayouter
         {
             get
             {
@@ -329,6 +353,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public new Direction ScrollingDirection
+        {
+            get
+            {
+                return (Direction)GetValue(ScrollingDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollingDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Direction InternalScrollingDirection
         {
             get
             {
@@ -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.
@@ -393,6 +453,18 @@ namespace Tizen.NUI.Components
         /// <remarks>Please note that, internal index will be increased by header.</remarks>
         /// <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
@@ -425,6 +497,18 @@ namespace Tizen.NUI.Components
         /// <remarks>Please note that, internal index will be increased by footer.</remarks>
         /// <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
@@ -456,6 +540,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public bool IsGrouped
+        {
+            get
+            {
+                return (bool)GetValue(IsGroupedProperty);
+            }
+            set
+            {
+                SetValue(IsGroupedProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalIsGrouped
         {
             get => isGrouped;
             set
@@ -481,6 +577,18 @@ namespace Tizen.NUI.Components
         /// GroupHeaderTemplate is essential for groupable view.</remarks>        
         [EditorBrowsable(EditorBrowsableState.Never)]
         public DataTemplate GroupHeaderTemplate
+        {
+            get
+            {
+                return GetValue(GroupHeaderTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(GroupHeaderTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalGroupHeaderTemplate
         {
             get
             {
@@ -508,6 +616,18 @@ namespace Tizen.NUI.Components
         /// <remarks>Please note that, internal index will be increased by group footer.</remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public DataTemplate GroupFooterTemplate
+        {
+            get
+            {
+                return GetValue(GroupFooterTemplateProperty) as DataTemplate;
+            }
+            set
+            {
+                SetValue(GroupFooterTemplateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DataTemplate InternalGroupFooterTemplate
         {
             get
             {
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 cd19b3d2deb922616ee1b261029931211dd84a9e..6ac1af402767f205234d0da132ce16eee38db3c7 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;
@@ -132,6 +132,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public View Badge
+        {
+            get
+            {
+                return GetValue(BadgeProperty) as View;
+            }
+            set
+            {
+                SetValue(BadgeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalBadge
         {
             get
             {
@@ -202,6 +214,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string Text
+        {
+            get
+            {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
         {
             get
             {
@@ -218,6 +242,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public LabelOrientation LabelOrientationType
+        {
+            get
+            {
+                return (Tizen.NUI.Components.DefaultGridItem.LabelOrientation)GetValue(LabelOrientationTypeProperty);
+            }
+            set
+            {
+                SetValue(LabelOrientationTypeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Tizen.NUI.Components.DefaultGridItem.LabelOrientation InternalLabelOrientationType
         {
             get
             {
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 37918b9c8ba1b1be2a46d55bcb9cd5085875b6b9..5ee179753628ccd6455a3a201fa9916fc1de75fe 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;
@@ -69,6 +69,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public View Icon
+        {
+            get
+            {
+                return GetValue(IconProperty) as View;
+            }
+            set
+            {
+                SetValue(IconProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalIcon
         {
             get
             {
@@ -153,6 +165,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string Text
+        {
+            get
+            {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
         {
             get
             {
@@ -195,6 +219,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string SubText
+        {
+            get
+            {
+                return GetValue(SubTextProperty) as string;
+            }
+            set
+            {
+                SetValue(SubTextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalSubText
         {
             get
             {
@@ -211,6 +247,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public View Extra
+        {
+            get
+            {
+                return GetValue(ExtraProperty) as View;
+            }
+            set
+            {
+                SetValue(ExtraProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalExtra
         {
             get
             {
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 2443b8ad9826059092760d3f68b6cb9570da40da..834052a3c2089561fba9ed00c253ba721b089b3c 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;
@@ -67,6 +67,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public View Icon
+        {
+            get
+            {
+                return GetValue(IconProperty) as View;
+            }
+            set
+            {
+                SetValue(IconProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private View InternalIcon
         {
             get
             {
@@ -151,6 +163,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public string Text
+        {
+            get
+            {
+                return GetValue(TextProperty) as string;
+            }
+            set
+            {
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalText
         {
             get
             {
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 e29920944bcf9e206abbae885a6c44b09eb0d76f..935e314281931967c2eded29892f075f08d7f9d4 100755 (executable)
@@ -27,6 +27,42 @@ namespace Tizen.NUI.Components
     /// <since_tizen> 9 </since_tizen>
     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>
@@ -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 0ca84a7a21ccb48e25dc187349b2a5eafc8491f1..4cf0d3642d791e46fa29ea0b1a1ba0d0ff86310f 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;
@@ -251,6 +251,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public Direction ScrollingDirection
+        {
+            get
+            {
+                return (Direction)GetValue(ScrollingDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollingDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Direction InternalScrollingDirection
         {
             get
             {
@@ -280,6 +292,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public bool ScrollEnabled
+        {
+            get
+            {
+                return (bool)GetValue(ScrollEnabledProperty);
+            }
+            set
+            {
+                SetValue(ScrollEnabledProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalScrollEnabled
         {
             get
             {
@@ -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.
@@ -331,6 +367,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public int ScrollDuration
+        {
+            get
+            {
+                return (int)GetValue(ScrollDurationProperty);
+            }
+            set
+            {
+                SetValue(ScrollDurationProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalScrollDuration
         {
             set
             {
@@ -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 />
@@ -389,6 +449,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public ScrollbarBase Scrollbar
+        {
+            get
+            {
+                return GetValue(ScrollbarProperty) as ScrollbarBase;
+            }
+            set
+            {
+                SetValue(ScrollbarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ScrollbarBase InternalScrollbar
         {
             get
             {
@@ -426,6 +498,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public bool HideScrollbar
+        {
+            get
+            {
+                return (bool)GetValue(HideScrollbarProperty);
+            }
+            set
+            {
+                SetValue(HideScrollbarProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalHideScrollbar
         {
             get
             {
@@ -460,6 +544,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public new LayoutItem Layout
+        {
+            get
+            {
+                return GetValue(LayoutProperty) as LayoutItem;
+            }
+            set
+            {
+                SetValue(LayoutProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private LayoutItem InternalLayout
         {
             get
             {
@@ -490,6 +586,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public float DecelerationRate
+        {
+            get
+            {
+                return (float)GetValue(DecelerationRateProperty);
+            }
+            set
+            {
+                SetValue(DecelerationRateProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalDecelerationRate
         {
             get
             {
@@ -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.
@@ -516,6 +636,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float ScrollingEventThreshold
+        {
+            get
+            {
+                return (float)GetValue(ScrollingEventThresholdProperty);
+            }
+            set
+            {
+                SetValue(ScrollingEventThresholdProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalScrollingEventThreshold
         {
             get
             {
@@ -539,6 +671,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public float PageFlickThreshold
+        {
+            get
+            {
+                return (float)GetValue(PageFlickThresholdProperty);
+            }
+            set
+            {
+                SetValue(PageFlickThresholdProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPageFlickThreshold
         {
             get
             {
@@ -555,6 +699,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public new Extents Padding
+        {
+            get
+            {
+                return GetValue(PaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalPadding
         {
             get
             {
@@ -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;
@@ -592,6 +760,18 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         // 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 7ac6ed94e1f323e116fdd298cb779c2da9b5eb23..905a78b97b7d14c40bc8ef059517b20071f8cc1b 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)
@@ -392,6 +392,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public DirectionType Direction
+        {
+            get
+            {
+                return (DirectionType)GetValue(DirectionProperty);
+            }
+            set
+            {
+                SetValue(DirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DirectionType InternalDirection
         {
             get
             {
@@ -420,11 +432,11 @@ namespace Tizen.NUI.Components
         {
             get
             {
-                return (IndicatorType)GetValue(IndicatorTypeProperty);
+                return (IndicatorType)GetValue(IndicatorProperty);
             }
             set
             {
-                SetValue(IndicatorTypeProperty, value);
+                SetValue(IndicatorProperty, value);
             }
         }
 
@@ -433,6 +445,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public float MinValue
+        {
+            get
+            {
+                return (float)GetValue(MinValueProperty);
+            }
+            set
+            {
+                SetValue(MinValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalMinValue
         {
             get
             {
@@ -450,6 +474,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public float MaxValue
+        {
+            get
+            {
+                return (float)GetValue(MaxValueProperty);
+            }
+            set
+            {
+                SetValue(MaxValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalMaxValue
         {
             get
             {
@@ -483,6 +519,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Size ThumbSize
+        {
+            get
+            {
+                return GetValue(ThumbSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ThumbSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalThumbSize
         {
             get
             {
@@ -505,6 +553,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string ThumbImageURL
+        {
+            get
+            {
+                return GetValue(ThumbImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(ThumbImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalThumbImageURL
         {
             get
             {
@@ -529,6 +589,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <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
@@ -550,6 +622,18 @@ namespace Tizen.NUI.Components
         /// <exception cref="NullReferenceException">Thrown when setting null value.</exception>
         /// <since_tizen> 9 </since_tizen>
         public Selector<string> ThumbImageUrl
+        {
+            get
+            {
+                return GetValue(ThumbImageUrlProperty) as Selector<string>;
+            }
+            set
+            {
+                SetValue(ThumbImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Selector<string> InternalThumbImageUrl
         {
             get
             {
@@ -580,6 +664,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
         public Color ThumbColor
+        {
+            get
+            {
+                return GetValue(ThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(ThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalThumbColor
         {
             get
             {
@@ -600,6 +696,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Color BgTrackColor
+        {
+            get
+            {
+                return GetValue(BgTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(BgTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalBgTrackColor
         {
             get
             {
@@ -619,6 +727,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Color SlidedTrackColor
+        {
+            get
+            {
+                return GetValue(SlidedTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(SlidedTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalSlidedTrackColor
         {
             get
             {
@@ -655,6 +775,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened later after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public float WarningStartValue
+        {
+            get
+            {
+                return (float)GetValue(WarningStartValueProperty);
+            }
+            set
+            {
+                SetValue(WarningStartValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalWarningStartValue
         {
             get
             {
@@ -673,6 +805,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened later after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Color WarningTrackColor
+        {
+            get
+            {
+                return GetValue(WarningTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningTrackColor
         {
             get
             {
@@ -693,6 +837,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened later after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Color WarningSlidedTrackColor
+        {
+            get
+            {
+                return GetValue(WarningSlidedTrackColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningSlidedTrackColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningSlidedTrackColor
         {
             get
             {
@@ -714,6 +870,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened later after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Selector<string> WarningThumbImageUrl
+        {
+            get
+            {
+                return GetValue(WarningThumbImageUrlProperty) as Selector<string>;
+            }
+            set
+            {
+                SetValue(WarningThumbImageUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Selector<string> InternalWarningThumbImageUrl
         {
             get
             {
@@ -738,6 +906,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened later after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Color WarningThumbColor
+        {
+            get
+            {
+                return GetValue(WarningThumbColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(WarningThumbColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalWarningThumbColor
         {
             get
             {
@@ -754,6 +934,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string LowIndicatorImageURL
+        {
+            get
+            {
+                return GetValue(LowIndicatorImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(LowIndicatorImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalLowIndicatorImageURL
         {
             get
             {
@@ -771,6 +963,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string HighIndicatorImageURL
+        {
+            get
+            {
+                return GetValue(HighIndicatorImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(HighIndicatorImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalHighIndicatorImageURL
         {
             get
             {
@@ -788,6 +992,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string LowIndicatorTextContent
+        {
+            get
+            {
+                return GetValue(LowIndicatorTextContentProperty) as string;
+            }
+            set
+            {
+                SetValue(LowIndicatorTextContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalLowIndicatorTextContent
         {
             get
             {
@@ -807,6 +1023,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string HighIndicatorTextContent
+        {
+            get
+            {
+                return GetValue(HighIndicatorTextContentProperty) as string;
+            }
+            set
+            {
+                SetValue(HighIndicatorTextContentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalHighIndicatorTextContent
         {
             get
             {
@@ -826,6 +1054,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Size LowIndicatorSize
+        {
+            get
+            {
+                return GetValue(LowIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(LowIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalLowIndicatorSize
         {
             get
             {
@@ -846,6 +1086,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Size HighIndicatorSize
+        {
+            get
+            {
+                return GetValue(HighIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(HighIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalHighIndicatorSize
         {
             get
             {
@@ -913,6 +1165,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public Size ValueIndicatorSize
+        {
+            get
+            {
+                return GetValue(ValueIndicatorSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(ValueIndicatorSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalValueIndicatorSize
         {
             get
             {
@@ -932,6 +1196,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public string ValueIndicatorUrl
+        {
+            get
+            {
+                return GetValue(ValueIndicatorUrlProperty) as string;
+            }
+            set
+            {
+                SetValue(ValueIndicatorUrlProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalValueIndicatorUrl
         {
             get
             {
@@ -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.
@@ -965,6 +1253,18 @@ namespace Tizen.NUI.Components
         /// </remarks>
         /// <since_tizen> 9 </since_tizen>
         public float DiscreteValue
+        {
+            get
+            {
+                return (float)GetValue(DiscreteValueProperty);
+            }
+            set
+            {
+                SetValue(DiscreteValueProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalDiscreteValue
         {
             get
             {
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;
 
@@ -171,6 +171,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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
@@ -185,6 +197,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public string SwitchHandlerImageURL
+        {
+            get
+            {
+                return GetValue(SwitchHandlerImageURLProperty) as string;
+            }
+            set
+            {
+                SetValue(SwitchHandlerImageURLProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalSwitchHandlerImageURL
         {
             get
             {
@@ -202,6 +226,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <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
@@ -216,6 +252,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 6 </since_tizen>
         public Size SwitchHandlerImageSize
+        {
+            get
+            {
+                return GetValue(SwitchHandlerImageSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(SwitchHandlerImageSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalSwitchHandlerImageSize
         {
             get
             {
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 aa596efc5d7d93be60b3deb93022efd326fa7c00..42ea67655c2d37a38f1bfb550e137934bb2a4054 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>();
@@ -118,6 +118,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public int SelectedItemIndex
+        {
+            get
+            {
+                return (int)GetValue(SelectedItemIndexProperty);
+            }
+            set
+            {
+                SetValue(SelectedItemIndexProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalSelectedItemIndex
         {
             get
             {
@@ -139,6 +151,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public bool UseTextNaturalSize
+        {
+            get
+            {
+                return (bool)GetValue(UseTextNaturalSizeProperty);
+            }
+            set
+            {
+                SetValue(UseTextNaturalSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalUseTextNaturalSize
         {
             get
             {
@@ -160,6 +184,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public int ItemSpace
+        {
+            get
+            {
+                return (int)GetValue(ItemSpaceProperty);
+            }
+            set
+            {
+                SetValue(ItemSpaceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private int InternalItemSpace
         {
             get
             {
@@ -181,6 +217,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Extents Space
+        {
+            get
+            {
+                return GetValue(SpaceProperty) as Extents;
+            }
+            set
+            {
+                SetValue(SpaceProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalSpace
         {
             get
             {
@@ -199,6 +247,18 @@ namespace Tizen.NUI.Components
         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Extents ItemPadding
+        {
+            get
+            {
+                return GetValue(ItemPaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(ItemPaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalItemPadding
         {
             get
             {
@@ -237,6 +297,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Size UnderLineSize
+        {
+            get
+            {
+                return GetValue(UnderLineSizeProperty) as Size;
+            }
+            set
+            {
+                SetValue(UnderLineSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Size InternalUnderLineSize
         {
             get
             {
@@ -258,6 +330,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color UnderLineBackgroundColor
+        {
+            get
+            {
+                return GetValue(UnderLineBackgroundColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(UnderLineBackgroundColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalUnderLineBackgroundColor
         {
             get
             {
@@ -279,6 +363,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public float PointSize
+        {
+            get
+            {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
         {
             get
             {
@@ -300,6 +396,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public string FontFamily
+        {
+            get
+            {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
         {
             get
             {
@@ -321,6 +429,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color TextColor
+        {
+            get
+            {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
         {
             get
             {
@@ -343,6 +463,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public ColorSelector TextColorSelector
+        {
+            get
+            {
+                return GetValue(TextColorSelectorProperty) as ColorSelector;
+            }
+            set
+            {
+                SetValue(TextColorSelectorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private ColorSelector InternalTextColorSelector
         {
             get
             {
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 6d473633719f9c0f3a48627e127e5ae20c55ff01..b6b65bdb6c44d1b4c015333374dd6d1f3a2d630a 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;
@@ -128,6 +165,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public DateTime Time
+        {
+            get
+            {
+                return (DateTime)GetValue(TimeProperty);
+            }
+            set
+            {
+                SetValue(TimeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private DateTime InternalTime
         {
             get
             {
@@ -163,6 +212,18 @@ namespace Tizen.NUI.Components
         /// </summary>
         /// <since_tizen> 9 </since_tizen>
         public bool Is24HourView
+        {
+            get
+            {
+                return (bool)GetValue(Is24HourViewProperty);
+            }
+            set
+            {
+                SetValue(Is24HourViewProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private bool InternalIs24HourView
         {
             get
             {
index 061f135b0f2a84193ffb8436f252b21245bb4e77..d9fb74c8dd2c3eed6814482291b2e7555125d508 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)]
@@ -126,6 +126,18 @@ namespace Tizen.NUI.Components
         [SuppressMessage("Microsoft.Performance", "CA1819: Properties should not return arrays")]
         [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;
@@ -137,6 +149,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public float PointSize
+        {
+            get
+            {
+                return (float)GetValue(PointSizeProperty);
+            }
+            set
+            {
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private float InternalPointSize
         {
             get
             {
@@ -157,6 +181,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public string FontFamily
+        {
+            get
+            {
+                return GetValue(FontFamilyProperty) as string;
+            }
+            set
+            {
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private string InternalFontFamily
         {
             get
             {
@@ -177,6 +213,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Color TextColor
+        {
+            get
+            {
+                return GetValue(TextColorProperty) as Color;
+            }
+            set
+            {
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Color InternalTextColor
         {
             get
             {
@@ -197,6 +245,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public HorizontalAlignment TextAlignment
+        {
+            get
+            {
+                return (HorizontalAlignment)GetValue(TextAlignmentProperty);
+            }
+            set
+            {
+                SetValue(TextAlignmentProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private HorizontalAlignment InternalTextAlignment
         {
             get
             {
@@ -246,6 +306,18 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 6 </since_tizen>
         [Obsolete("Deprecated in API8; Will be removed in API10")]
         public Extents TextPadding
+        {
+            get
+            {
+                return GetValue(TextPaddingProperty) as Extents;
+            }
+            set
+            {
+                SetValue(TextPaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+        private Extents InternalTextPadding
         {
             get
             {
@@ -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;
+        });
+
+    }
+}