[NUI] Revert patch about StyleManager (#1970)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using System.ComponentModel;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.BaseComponents
22 {
23     /// <summary>
24     /// View is the base class for all views.
25     /// </summary>
26     /// <since_tizen> 3 </since_tizen>
27     public partial class View
28     {
29         /// <summary>
30         /// StyleNameProperty (DALi json)
31         /// </summary>
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create("StyleName", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
34         {
35             var view = (View)bindable;
36             if (newValue != null)
37             {
38                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue((string)newValue));
39             }
40         },
41         defaultValueCreator: (bindable) =>
42         {
43             var view = (View)bindable;
44             string temp;
45             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STYLE_NAME).Get(out temp);
46             return temp;
47         });
48
49         /// <summary>
50         /// BackgroundColorProperty
51         /// </summary>
52         [EditorBrowsable(EditorBrowsableState.Never)]
53         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create("BackgroundColor", typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
54         {
55             var view = (View)bindable;
56             if (newValue != null)
57             {
58                 if (view.backgroundExtraData == null)
59                 {
60                     Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue((Color)newValue));
61                     return;
62                 }
63
64                 PropertyMap map = new PropertyMap();
65
66                 map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color))
67                    .Add(ColorVisualProperty.MixColor, new PropertyValue((Color)newValue))
68                    .Add(Visual.Property.CornerRadius, new PropertyValue(view.backgroundExtraData.CornerRadius));
69
70                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
71             }
72         },
73         defaultValueCreator: (bindable) =>
74         {
75             var view = (View)bindable;
76             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
77
78             Tizen.NUI.PropertyMap background = view.Background;
79             int visualType = 0;
80             background.Find(Visual.Property.Type)?.Get(out visualType);
81             if (visualType == (int)Visual.Type.Color)
82             {
83                 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
84             }
85
86             return backgroundColor;
87         });
88
89         /// <summary>
90         /// ColorProperty
91         /// </summary>
92         [EditorBrowsable(EditorBrowsableState.Never)]
93         public static readonly BindableProperty ColorProperty = BindableProperty.Create("Color", typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
94         {
95             var view = (View)bindable;
96             if (newValue != null)
97             {
98                 view.SetColor((Color)newValue);
99             }
100         },
101         defaultValueCreator: (bindable) =>
102         {
103             var view = (View)bindable;
104             Color color = new Color(0.0f, 0.0f, 0.0f, 0.0f);
105             view.GetProperty(Interop.ActorProperty.Actor_Property_COLOR_get()).Get(color);
106             return color;
107         });
108
109         /// <summary> BackgroundImageProperty </summary>
110         [EditorBrowsable(EditorBrowsableState.Never)]
111         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create("BackgroundImage", typeof(string), typeof(View), default(string), propertyChanged: (bindable, oldValue, newValue) =>
112         {
113             var view = (View)bindable;
114             if (newValue != null)
115             {
116                 string url = (string)newValue;
117
118                 if (string.IsNullOrEmpty(url))
119                 {
120                     // Clear background
121                     Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue());
122                     return;
123                 }
124
125                 if (view.backgroundExtraData == null)
126                 {
127                     Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(url));
128                     view.BackgroundImageSynchronosLoading = view._backgroundImageSynchronosLoading;
129
130                     return;
131                 }
132
133                 PropertyMap map = new PropertyMap();
134
135                 map.Add(ImageVisualProperty.URL, new PropertyValue(url))
136                    .Add(Visual.Property.CornerRadius, new PropertyValue(view.backgroundExtraData.CornerRadius))
137                    .Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(view._backgroundImageSynchronosLoading));
138                 
139                 if (view.backgroundExtraData.BackgroundImageBorder != null)
140                 {
141                     map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch))
142                        .Add(NpatchImageVisualProperty.Border, new PropertyValue(view.backgroundExtraData.BackgroundImageBorder));
143                 }
144                 else
145                 {
146                     map.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
147                 }
148
149                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
150             }
151         },
152         defaultValueCreator: (bindable) =>
153         {
154             var view = (View)bindable;
155             string backgroundImage = "";
156
157             Tizen.NUI.PropertyMap background = view.Background;
158             background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
159
160             return backgroundImage;
161         });
162         /// <summary>BackgroundImageBorderProperty</summary>
163         [EditorBrowsable(EditorBrowsableState.Never)]
164         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (bindable, oldValue, newValue) =>
165         {
166             var view = (View)bindable;
167
168             bool isEmptyValue = Rectangle.IsNullOrZero((Rectangle)newValue);
169
170             var backgroundImageBorder = isEmptyValue ? null : (Rectangle)newValue;
171
172             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BackgroundImageBorder = backgroundImageBorder;
173
174             if (isEmptyValue)
175             {
176                 return;
177             }
178
179             PropertyMap map = view.Background;
180
181             if (map.Empty())
182             {
183                 return;
184             }
185
186             map[NpatchImageVisualProperty.Border] = new PropertyValue(backgroundImageBorder);
187
188             int visualType = 0;
189
190             map.Find(Visual.Property.Type)?.Get(out visualType);
191
192             if (visualType == (int)Visual.Type.Image)
193             {
194                 map[Visual.Property.Type] = new PropertyValue((int)Visual.Type.NPatch);
195             }
196
197             Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
198
199         },
200         defaultValueCreator: (bindable) =>
201         {
202             var view = (View)bindable;
203
204             return view.backgroundExtraData?.BackgroundImageBorder;
205         });
206         /// <summary>
207         /// BackgroundProperty
208         /// </summary>
209         [EditorBrowsable(EditorBrowsableState.Never)]
210         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create("Background", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
211         {
212             var view = (View)bindable;
213             if (newValue != null)
214             {
215                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
216
217                 view.backgroundExtraData = null;
218             }
219         },
220         defaultValueCreator: (bindable) =>
221         {
222             var view = (View)bindable;
223             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
224             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.BACKGROUND).Get(temp);
225             return temp;
226         });
227
228         /// <summary>
229         /// StateProperty
230         /// </summary>
231         [EditorBrowsable(EditorBrowsableState.Never)]
232         public static readonly BindableProperty StateProperty = BindableProperty.Create("State", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
233         {
234             var view = (View)bindable;
235             if (newValue != null)
236             {
237                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
238             }
239         },
240         defaultValueCreator: (bindable) =>
241         {
242             var view = (View)bindable;
243             int temp = 0;
244             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STATE).Get(out temp) == false)
245             {
246                 NUILog.Error("State get error!");
247             }
248             switch (temp)
249             {
250                 case 0: return States.Normal;
251                 case 1: return States.Focused;
252                 case 2: return States.Disabled;
253                 default: return States.Normal;
254             }
255         });
256
257         /// <summary>
258         /// SubStateProperty
259         /// </summary>
260         [EditorBrowsable(EditorBrowsableState.Never)]
261         public static readonly BindableProperty SubStateProperty = BindableProperty.Create("SubState", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
262         {
263             var view = (View)bindable;
264             string valueToString = "";
265             if (newValue != null)
266             {
267                 valueToString = ((States)newValue).GetDescription<States>();
268                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
269             }
270         },
271         defaultValueCreator: (bindable) =>
272         {
273             var view = (View)bindable;
274             string temp;
275             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SUB_STATE).Get(out temp) == false)
276             {
277                 NUILog.Error("subState get error!");
278             }
279             return temp.GetValueByDescription<States>();
280         });
281
282         /// <summary>
283         /// TooltipProperty
284         /// </summary>
285         [EditorBrowsable(EditorBrowsableState.Never)]
286         public static readonly BindableProperty TooltipProperty = BindableProperty.Create("Tooltip", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
287         {
288             var view = (View)bindable;
289             if (newValue != null)
290             {
291                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
292             }
293         },
294         defaultValueCreator: (bindable) =>
295         {
296             var view = (View)bindable;
297             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
298             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.TOOLTIP).Get(temp);
299             return temp;
300         });
301
302         /// <summary>
303         /// FlexProperty
304         /// </summary>
305         [EditorBrowsable(EditorBrowsableState.Never)]
306         public static readonly BindableProperty FlexProperty = BindableProperty.Create("Flex", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
307         {
308             var view = (View)bindable;
309             if (newValue != null)
310             {
311                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
312             }
313         },
314         defaultValueCreator: (bindable) =>
315         {
316             var view = (View)bindable;
317             float temp = 0.0f;
318             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
319             return temp;
320         });
321
322         /// <summary>
323         /// AlignSelfProperty
324         /// </summary>
325         [EditorBrowsable(EditorBrowsableState.Never)]
326         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create("AlignSelf", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
327         {
328             var view = (View)bindable;
329             if (newValue != null)
330             {
331                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue((int)newValue));
332             }
333         },
334         defaultValueCreator: (bindable) =>
335         {
336             var view = (View)bindable;
337             int temp = 0;
338             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
339             return temp;
340         });
341
342         /// <summary>
343         /// FlexMarginProperty
344         /// </summary>
345         [EditorBrowsable(EditorBrowsableState.Never)]
346         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create("FlexMargin", typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
347         {
348             var view = (View)bindable;
349             if (newValue != null)
350             {
351                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue((Vector4)newValue));
352             }
353         },
354         defaultValueCreator: (bindable) =>
355         {
356             var view = (View)bindable;
357             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
358             Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
359             return temp;
360         });
361
362         /// <summary>
363         /// CellIndexProperty
364         /// </summary>
365         [EditorBrowsable(EditorBrowsableState.Never)]
366         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create("CellIndex", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
367         {
368             var view = (View)bindable;
369             if (newValue != null)
370             {
371                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue((Vector2)newValue));
372             }
373         },
374         defaultValueCreator: (bindable) =>
375         {
376             var view = (View)bindable;
377             Vector2 temp = new Vector2(0.0f, 0.0f);
378             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX).Get(temp);
379             return temp;
380         });
381
382         /// <summary>
383         /// RowSpanProperty
384         /// </summary>
385         [EditorBrowsable(EditorBrowsableState.Never)]
386         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create("RowSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
387         {
388             var view = (View)bindable;
389             if (newValue != null)
390             {
391                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
392             }
393         },
394         defaultValueCreator: (bindable) =>
395         {
396             var view = (View)bindable;
397             float temp = 0.0f;
398             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN).Get(out temp);
399             return temp;
400         });
401
402         /// <summary>
403         /// ColumnSpanProperty
404         /// </summary>
405         [EditorBrowsable(EditorBrowsableState.Never)]
406         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create("ColumnSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
407         {
408             var view = (View)bindable;
409             if (newValue != null)
410             {
411                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
412             }
413         },
414         defaultValueCreator: (bindable) =>
415         {
416             var view = (View)bindable;
417             float temp = 0.0f;
418             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
419             return temp;
420         });
421
422         /// <summary>
423         /// CellHorizontalAlignmentProperty
424         /// </summary>
425         [EditorBrowsable(EditorBrowsableState.Never)]
426         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create("CellHorizontalAlignment", typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (bindable, oldValue, newValue) =>
427         {
428             var view = (View)bindable;
429             string valueToString = "";
430
431             if (newValue != null)
432             {
433                 valueToString = ((HorizontalAlignmentType)newValue).GetDescription<HorizontalAlignmentType>();
434                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
435             }
436         },
437         defaultValueCreator: (bindable) =>
438         {
439             var view = (View)bindable;
440             string temp;
441             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
442             {
443                 NUILog.Error("CellHorizontalAlignment get error!");
444             }
445
446             return temp.GetValueByDescription<HorizontalAlignmentType>();
447         });
448
449         /// <summary>
450         /// CellVerticalAlignmentProperty
451         /// </summary>
452         [EditorBrowsable(EditorBrowsableState.Never)]
453         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create("CellVerticalAlignment", typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (bindable, oldValue, newValue) =>
454         {
455             var view = (View)bindable;
456             string valueToString = "";
457
458             if (newValue != null)
459             {
460                 valueToString = ((VerticalAlignmentType)newValue).GetDescription<VerticalAlignmentType>();
461                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
462             }
463         },
464         defaultValueCreator: (bindable) =>
465         {
466             var view = (View)bindable;
467             string temp;
468             Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
469             {
470                 NUILog.Error("CellVerticalAlignment get error!");
471             }
472
473             return temp.GetValueByDescription<VerticalAlignmentType>();
474         });
475
476         /// <summary>
477         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
478         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
479         /// </summary>
480         [EditorBrowsable(EditorBrowsableState.Never)]
481         public static readonly BindableProperty WeightProperty = BindableProperty.Create("Weight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
482         {
483             var view = (View)bindable;
484             if (newValue != null)
485             {
486                 view.Weight = (float)newValue;
487             }
488         },
489
490         defaultValueCreator: (bindable) =>
491         {
492             var view = (View)bindable;
493             return view.Weight;
494         });
495
496         /// <summary>
497         /// LeftFocusableViewProperty
498         /// </summary>
499         [EditorBrowsable(EditorBrowsableState.Never)]
500         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
501         {
502             var view = (View)bindable;
503             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
504             else { view.LeftFocusableViewId = -1; }
505         },
506         defaultValueCreator: (bindable) =>
507         {
508             var view = (View)bindable;
509             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
510             return null;
511         });
512
513         /// <summary>
514         /// RightFocusableViewProperty
515         /// </summary>
516         [EditorBrowsable(EditorBrowsableState.Never)]
517         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
518         {
519             var view = (View)bindable;
520             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
521             else { view.RightFocusableViewId = -1; }
522         },
523         defaultValueCreator: (bindable) =>
524         {
525             var view = (View)bindable;
526             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
527             return null;
528         });
529
530         /// <summary>
531         /// UpFocusableViewProperty
532         /// </summary>
533         [EditorBrowsable(EditorBrowsableState.Never)]
534         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
535         {
536             var view = (View)bindable;
537             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
538             else { view.UpFocusableViewId = -1; }
539         },
540         defaultValueCreator: (bindable) =>
541         {
542             var view = (View)bindable;
543             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
544             return null;
545         });
546
547         /// <summary>
548         /// DownFocusableViewProperty
549         /// </summary>
550         [EditorBrowsable(EditorBrowsableState.Never)]
551         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
552         {
553             var view = (View)bindable;
554             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
555             else { view.DownFocusableViewId = -1; }
556         },
557         defaultValueCreator: (bindable) =>
558         {
559             var view = (View)bindable;
560             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
561             return null;
562         });
563
564         /// <summary>
565         /// FocusableProperty
566         /// </summary>
567         [EditorBrowsable(EditorBrowsableState.Never)]
568         public static readonly BindableProperty FocusableProperty = BindableProperty.Create("Focusable", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
569         {
570             var view = (View)bindable;
571             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
572         },
573         defaultValueCreator: (bindable) =>
574         {
575             var view = (View)bindable;
576             return view.IsKeyboardFocusable();
577         });
578
579         /// <summary>
580         /// Size2DProperty
581         /// </summary>
582         [EditorBrowsable(EditorBrowsableState.Never)]
583         public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
584         {
585             var view = (View)bindable;
586             if (newValue != null)
587             {
588                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
589             }
590         },
591         defaultValueCreator: (bindable) =>
592         {
593             var view = (View)bindable;
594             Size temp = new Size(0.0f, 0.0f, 0.0f);
595             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
596             Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
597             return size;
598         });
599
600         /// <summary>
601         /// OpacityProperty
602         /// </summary>
603         [EditorBrowsable(EditorBrowsableState.Never)]
604         public static readonly BindableProperty OpacityProperty = BindableProperty.Create("Opacity", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
605         {
606             var view = (View)bindable;
607
608             if (newValue != null)
609             {
610                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
611             }
612         },
613         defaultValueCreator: (bindable) =>
614         {
615             var view = (View)bindable;
616             float temp = 0.0f;
617             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.OPACITY).Get(out temp);
618             return temp;
619         });
620
621         /// <summary>
622         /// Position2DProperty
623         /// </summary>
624         [EditorBrowsable(EditorBrowsableState.Never)]
625         public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
626         {
627             var view = (View)bindable;
628             if (newValue != null)
629             {
630                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
631             }
632         },
633         defaultValueCreator: (bindable) =>
634         {
635             var view = (View)bindable;
636             Position temp = new Position(0.0f, 0.0f, 0.0f);
637             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
638             return new Position2D(temp);
639         });
640
641         /// <summary>
642         /// PositionUsesPivotPointProperty
643         /// </summary>
644         [EditorBrowsable(EditorBrowsableState.Never)]
645         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create("PositionUsesPivotPoint", typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
646         {
647             var view = (View)bindable;
648             if (newValue != null)
649             {
650                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue((bool)newValue));
651             }
652         },
653         defaultValueCreator: (bindable) =>
654         {
655             var view = (View)bindable;
656             bool temp = false;
657             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
658             return temp;
659         });
660
661         /// <summary>
662         /// SiblingOrderProperty
663         /// </summary>
664         [EditorBrowsable(EditorBrowsableState.Never)]
665         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create("SiblingOrder", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
666         {
667             var view = (View)bindable;
668             int value;
669             if (newValue != null)
670             {
671                 value = (int)newValue;
672                 if (value < 0)
673                 {
674                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
675                     return;
676                 }
677                 var siblings = view.GetParent()?.Children;
678                 if (siblings != null)
679                 {
680                     int currentOrder = siblings.IndexOf(view);
681                     if (value != currentOrder)
682                     {
683                         if (value == 0) { view.LowerToBottom(); }
684                         else if (value < siblings.Count - 1)
685                         {
686                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
687                             else { view.LowerBelow(siblings[value]); }
688                         }
689                         else { view.RaiseToTop(); }
690                     }
691                 }
692             }
693         },
694         defaultValueCreator: (bindable) =>
695         {
696             var view = (View)bindable;
697             var parentChildren = view.GetParent()?.Children;
698             int currentOrder = 0;
699             if (parentChildren != null)
700             {
701                 currentOrder = parentChildren.IndexOf(view);
702
703                 if (currentOrder < 0) { return 0; }
704                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
705             }
706
707             return 0;
708         });
709
710         /// <summary>
711         /// ParentOriginProperty
712         /// </summary>
713         [EditorBrowsable(EditorBrowsableState.Never)]
714         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create("ParentOrigin", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
715         {
716             var view = (View)bindable;
717             if (newValue != null)
718             {
719                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue((Position)newValue));
720             }
721         },
722         defaultValueCreator: (bindable) =>
723         {
724             var view = (View)bindable;
725             Position temp = new Position(0.0f, 0.0f, 0.0f);
726             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN).Get(temp);
727             return temp;
728         }
729         );
730
731         /// <summary>
732         /// PivotPointProperty
733         /// </summary>
734         [EditorBrowsable(EditorBrowsableState.Never)]
735         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create("PivotPoint", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
736         {
737             var view = (View)bindable;
738             if (newValue != null)
739             {
740                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue((Position)newValue));
741             }
742         },
743         defaultValueCreator: (bindable) =>
744         {
745             var view = (View)bindable;
746             Position temp = new Position(0.0f, 0.0f, 0.0f);
747             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ANCHOR_POINT).Get(temp);
748             return temp;
749         });
750
751         /// <summary>
752         /// SizeWidthProperty
753         /// </summary>
754         [EditorBrowsable(EditorBrowsableState.Never)]
755         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create("SizeWidth", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
756         {
757             var view = (View)bindable;
758             if (newValue != null)
759             {
760                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue((float)newValue));
761                 view.WidthSpecification = (int)System.Math.Ceiling((float)newValue);
762             }
763         },
764         defaultValueCreator: (bindable) =>
765         {
766             var view = (View)bindable;
767             float temp = 0.0f;
768             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_WIDTH).Get(out temp);
769             return temp;
770         });
771
772         /// <summary>
773         /// SizeHeightProperty
774         /// </summary>
775         [EditorBrowsable(EditorBrowsableState.Never)]
776         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create("SizeHeight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
777         {
778             var view = (View)bindable;
779             if (newValue != null)
780             {
781                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
782                 view.HeightSpecification = (int)System.Math.Ceiling((float)newValue);
783             }
784         },
785         defaultValueCreator: (bindable) =>
786         {
787             var view = (View)bindable;
788             float temp = 0.0f;
789             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT).Get(out temp);
790             return temp;
791         });
792
793         /// <summary>
794         /// PositionProperty
795         /// </summary>
796         [EditorBrowsable(EditorBrowsableState.Never)]
797         public static readonly BindableProperty PositionProperty = BindableProperty.Create("Position", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
798         {
799             var view = (View)bindable;
800             if (newValue != null)
801             {
802                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
803             }
804         },
805         defaultValueCreator: (bindable) =>
806         {
807             var view = (View)bindable;
808             Position temp = new Position(0.0f, 0.0f, 0.0f);
809             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
810             return temp;
811         });
812
813         /// <summary>
814         /// PositionXProperty
815         /// </summary>
816         [EditorBrowsable(EditorBrowsableState.Never)]
817         public static readonly BindableProperty PositionXProperty = BindableProperty.Create("PositionX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
818         {
819             var view = (View)bindable;
820             if (newValue != null)
821             {
822                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_X, new Tizen.NUI.PropertyValue((float)newValue));
823             }
824         },
825         defaultValueCreator: (bindable) =>
826         {
827             var view = (View)bindable;
828             float temp = 0.0f;
829             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_X).Get(out temp);
830             return temp;
831         });
832
833         /// <summary>
834         /// PositionYProperty
835         /// </summary>
836         [EditorBrowsable(EditorBrowsableState.Never)]
837         public static readonly BindableProperty PositionYProperty = BindableProperty.Create("PositionY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
838         {
839             var view = (View)bindable;
840             if (newValue != null)
841             {
842                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Y, new Tizen.NUI.PropertyValue((float)newValue));
843             }
844         },
845         defaultValueCreator: (bindable) =>
846         {
847             var view = (View)bindable;
848             float temp = 0.0f;
849             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Y).Get(out temp);
850             return temp;
851         });
852
853         /// <summary>
854         /// PositionZProperty
855         /// </summary>
856         [EditorBrowsable(EditorBrowsableState.Never)]
857         public static readonly BindableProperty PositionZProperty = BindableProperty.Create("PositionZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
858         {
859             var view = (View)bindable;
860             if (newValue != null)
861             {
862                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Z, new Tizen.NUI.PropertyValue((float)newValue));
863             }
864         },
865         defaultValueCreator: (bindable) =>
866         {
867             var view = (View)bindable;
868             float temp = 0.0f;
869             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Z).Get(out temp);
870             return temp;
871         });
872
873         /// <summary>
874         /// OrientationProperty
875         /// </summary>
876         [EditorBrowsable(EditorBrowsableState.Never)]
877         public static readonly BindableProperty OrientationProperty = BindableProperty.Create("Orientation", typeof(Rotation), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
878         {
879             var view = (View)bindable;
880             if (newValue != null)
881             {
882                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
883             }
884         },
885         defaultValueCreator: (bindable) =>
886         {
887             var view = (View)bindable;
888             Rotation temp = new Rotation();
889             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ORIENTATION).Get(temp);
890             return temp;
891         });
892
893         /// <summary>
894         /// ScaleProperty
895         /// </summary>
896         [EditorBrowsable(EditorBrowsableState.Never)]
897         public static readonly BindableProperty ScaleProperty = BindableProperty.Create("Scale", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
898         {
899             var view = (View)bindable;
900             if (newValue != null)
901             {
902                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
903             }
904         },
905         defaultValueCreator: (bindable) =>
906         {
907             var view = (View)bindable;
908             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
909             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE).Get(temp);
910             return temp;
911         });
912
913         /// <summary>
914         /// ScaleXProperty
915         /// </summary>
916         [EditorBrowsable(EditorBrowsableState.Never)]
917         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create("ScaleX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
918         {
919             var view = (View)bindable;
920             if (newValue != null)
921             {
922                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_X, new Tizen.NUI.PropertyValue((float)newValue));
923             }
924         },
925         defaultValueCreator: (bindable) =>
926         {
927             var view = (View)bindable;
928             float temp = 0.0f;
929             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_X).Get(out temp);
930             return temp;
931         });
932
933         /// <summary>
934         /// ScaleYProperty
935         /// </summary>
936         [EditorBrowsable(EditorBrowsableState.Never)]
937         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create("ScaleY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
938         {
939             var view = (View)bindable;
940             if (newValue != null)
941             {
942                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Y, new Tizen.NUI.PropertyValue((float)newValue));
943             }
944         },
945         defaultValueCreator: (bindable) =>
946         {
947             var view = (View)bindable;
948             float temp = 0.0f;
949             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Y).Get(out temp);
950             return temp;
951         });
952
953         /// <summary>
954         /// ScaleZProperty
955         /// </summary>
956         [EditorBrowsable(EditorBrowsableState.Never)]
957         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create("ScaleZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
958         {
959             var view = (View)bindable;
960             if (newValue != null)
961             {
962                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Z, new Tizen.NUI.PropertyValue((float)newValue));
963             }
964         },
965         defaultValueCreator: (bindable) =>
966         {
967             var view = (View)bindable;
968             float temp = 0.0f;
969             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Z).Get(out temp);
970             return temp;
971         });
972
973         /// <summary>
974         /// NameProperty
975         /// </summary>
976         [EditorBrowsable(EditorBrowsableState.Never)]
977         public static readonly BindableProperty NameProperty = BindableProperty.Create("Name", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
978         {
979             var view = (View)bindable;
980             if (newValue != null)
981             {
982                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
983             }
984         },
985         defaultValueCreator: (bindable) =>
986         {
987             var view = (View)bindable;
988             string temp;
989             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.NAME).Get(out temp);
990             return temp;
991         });
992
993         /// <summary>
994         /// SensitiveProperty
995         /// </summary>
996         [EditorBrowsable(EditorBrowsableState.Never)]
997         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create("Sensitive", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
998         {
999             var view = (View)bindable;
1000             if (newValue != null)
1001             {
1002                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
1003             }
1004         },
1005         defaultValueCreator: (bindable) =>
1006         {
1007             var view = (View)bindable;
1008             bool temp = false;
1009             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SENSITIVE).Get(out temp);
1010             return temp;
1011         });
1012
1013         /// <summary>
1014         /// LeaveRequiredProperty
1015         /// </summary>
1016         [EditorBrowsable(EditorBrowsableState.Never)]
1017         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create("LeaveRequired", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1018         {
1019             var view = (View)bindable;
1020             if (newValue != null)
1021             {
1022                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue((bool)newValue));
1023             }
1024         },
1025         defaultValueCreator: (bindable) =>
1026         {
1027             var view = (View)bindable;
1028             bool temp = false;
1029             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED).Get(out temp);
1030             return temp;
1031         });
1032
1033         /// <summary>
1034         /// InheritOrientationProperty
1035         /// </summary>
1036         [EditorBrowsable(EditorBrowsableState.Never)]
1037         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create("InheritOrientation", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1038         {
1039             var view = (View)bindable;
1040             if (newValue != null)
1041             {
1042                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue((bool)newValue));
1043             }
1044         },
1045         defaultValueCreator: (bindable) =>
1046         {
1047             var view = (View)bindable;
1048             bool temp = false;
1049             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION).Get(out temp);
1050             return temp;
1051         });
1052
1053         /// <summary>
1054         /// InheritScaleProperty
1055         /// </summary>
1056         [EditorBrowsable(EditorBrowsableState.Never)]
1057         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create("InheritScale", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1058         {
1059             var view = (View)bindable;
1060             if (newValue != null)
1061             {
1062                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue((bool)newValue));
1063             }
1064         },
1065         defaultValueCreator: (bindable) =>
1066         {
1067             var view = (View)bindable;
1068             bool temp = false;
1069             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_SCALE).Get(out temp);
1070             return temp;
1071         });
1072
1073         /// <summary>
1074         /// DrawModeProperty
1075         /// </summary>
1076         [EditorBrowsable(EditorBrowsableState.Never)]
1077         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create("DrawMode", typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (bindable, oldValue, newValue) =>
1078         {
1079             var view = (View)bindable;
1080             if (newValue != null)
1081             {
1082                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1083             }
1084         },
1085         defaultValueCreator: (bindable) =>
1086         {
1087             var view = (View)bindable;
1088             int temp;
1089             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.DRAW_MODE).Get(out temp) == false)
1090             {
1091                 NUILog.Error("DrawMode get error!");
1092             }
1093             return (DrawModeType)temp;
1094         });
1095
1096         /// <summary>
1097         /// SizeModeFactorProperty
1098         /// </summary>
1099         [EditorBrowsable(EditorBrowsableState.Never)]
1100         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create("SizeModeFactor", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1101         {
1102             var view = (View)bindable;
1103             if (newValue != null)
1104             {
1105                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue((Vector3)newValue));
1106             }
1107         },
1108         defaultValueCreator: (bindable) =>
1109         {
1110             var view = (View)bindable;
1111             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
1112             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR).Get(temp);
1113             return temp;
1114         });
1115
1116         /// <summary>
1117         /// WidthResizePolicyProperty
1118         /// </summary>
1119         [EditorBrowsable(EditorBrowsableState.Never)]
1120         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create("WidthResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
1121         {
1122             var view = (View)bindable;
1123             if (newValue != null)
1124             {
1125                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
1126                 // Match ResizePolicy to new Layouting.
1127                 // Parent relative policies can not be mapped at this point as parent size unknown.
1128                 switch ((ResizePolicyType)newValue)
1129                 {
1130                     case ResizePolicyType.UseNaturalSize:
1131                         {
1132                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1133                             break;
1134                         }
1135                     case ResizePolicyType.FillToParent:
1136                         {
1137                             view.WidthSpecification = LayoutParamPolicies.MatchParent;
1138                             break;
1139                         }
1140                     case ResizePolicyType.FitToChildren:
1141                         {
1142                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1143                             break;
1144                         }
1145                     default:
1146                         break;
1147                 }
1148             }
1149         },
1150         defaultValueCreator: (bindable) =>
1151         {
1152             var view = (View)bindable;
1153             string temp;
1154             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
1155             {
1156                 NUILog.Error("WidthResizePolicy get error!");
1157             }
1158             return temp.GetValueByDescription<ResizePolicyType>();
1159         });
1160
1161         /// <summary>
1162         /// HeightResizePolicyProperty
1163         /// </summary>
1164         [EditorBrowsable(EditorBrowsableState.Never)]
1165         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create("HeightResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
1166         {
1167             var view = (View)bindable;
1168             if (newValue != null)
1169             {
1170                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
1171                 // Match ResizePolicy to new Layouting.
1172                 // Parent relative policies can not be mapped at this point as parent size unknown.
1173                 switch ((ResizePolicyType)newValue)
1174                 {
1175                     case ResizePolicyType.UseNaturalSize:
1176                         {
1177                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1178                             break;
1179                         }
1180                     case ResizePolicyType.FillToParent:
1181                         {
1182                             view.HeightSpecification = LayoutParamPolicies.MatchParent;
1183                             break;
1184                         }
1185                     case ResizePolicyType.FitToChildren:
1186                         {
1187                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1188                             break;
1189                         }
1190                     default:
1191                         break;
1192                 }
1193             }
1194         },
1195         defaultValueCreator: (bindable) =>
1196         {
1197             var view = (View)bindable;
1198             string temp;
1199             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
1200             {
1201                 NUILog.Error("HeightResizePolicy get error!");
1202             }
1203             return temp.GetValueByDescription<ResizePolicyType>();
1204         });
1205
1206         /// <summary>
1207         /// SizeScalePolicyProperty
1208         /// </summary>
1209         [EditorBrowsable(EditorBrowsableState.Never)]
1210         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create("SizeScalePolicy", typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (bindable, oldValue, newValue) =>
1211         {
1212             var view = (View)bindable;
1213             string valueToString = "";
1214             if (newValue != null)
1215             {
1216                 valueToString = ((SizeScalePolicyType)newValue).GetDescription<SizeScalePolicyType>();
1217                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
1218             }
1219         },
1220         defaultValueCreator: (bindable) =>
1221         {
1222             var view = (View)bindable;
1223             int temp;
1224             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
1225             {
1226                 NUILog.Error("SizeScalePolicy get error!");
1227             }
1228             return (SizeScalePolicyType)temp;
1229         });
1230
1231         /// <summary>
1232         /// WidthForHeightProperty
1233         /// </summary>
1234         [EditorBrowsable(EditorBrowsableState.Never)]
1235         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create("WidthForHeight", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1236         {
1237             var view = (View)bindable;
1238             if (newValue != null)
1239             {
1240                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue((bool)newValue));
1241             }
1242         },
1243         defaultValueCreator: (bindable) =>
1244         {
1245             var view = (View)bindable;
1246             bool temp = false;
1247             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
1248             return temp;
1249         });
1250
1251         /// <summary>
1252         /// HeightForWidthProperty
1253         /// </summary>
1254         [EditorBrowsable(EditorBrowsableState.Never)]
1255         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create("HeightForWidth", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1256         {
1257             var view = (View)bindable;
1258             if (newValue != null)
1259             {
1260                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue((bool)newValue));
1261             }
1262         },
1263         defaultValueCreator: (bindable) =>
1264         {
1265             var view = (View)bindable;
1266             bool temp = false;
1267             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
1268             return temp;
1269         });
1270
1271         /// <summary>
1272         /// PaddingProperty
1273         /// </summary>
1274         [EditorBrowsable(EditorBrowsableState.Never)]
1275         public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1276         {
1277             var view = (View)bindable;
1278             if (newValue != null)
1279             {
1280                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1281             }
1282         },
1283         defaultValueCreator: (bindable) =>
1284         {
1285             var view = (View)bindable;
1286             Extents temp = new Extents(0, 0, 0, 0);
1287             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PADDING).Get(temp);
1288             return temp;
1289         });
1290
1291         /// <summary>
1292         /// SizeProperty
1293         /// </summary>
1294         [EditorBrowsable(EditorBrowsableState.Never)]
1295         public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1296         {
1297             var view = (View)bindable;
1298             if (newValue != null)
1299             {
1300                 Size size = (Size)newValue;
1301                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(size));
1302                 // Set Specification so when layouts measure this View it matches the value set here.
1303                 // All Views are currently Layouts.
1304                 view.WidthSpecification = (int)System.Math.Ceiling(size.Width);
1305                 view.HeightSpecification = (int)System.Math.Ceiling(size.Height);
1306             }
1307         },
1308         defaultValueCreator: (bindable) =>
1309         {
1310             var view = (View)bindable;
1311             Size temp = new Size(0, 0, 0);
1312             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
1313             return temp;
1314         });
1315
1316         /// <summary>
1317         /// MinimumSizeProperty
1318         /// </summary>
1319         [EditorBrowsable(EditorBrowsableState.Never)]
1320         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1321         {
1322             var view = (View)bindable;
1323             Size2D temp = newValue as Size2D;
1324             if (temp != null)
1325             {
1326                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(temp));
1327             }
1328             else
1329             {
1330                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MinimumSizeProperty!");
1331             }
1332         },
1333         defaultValueCreator: (bindable) =>
1334         {
1335             var view = (View)bindable;
1336             Size2D temp = new Size2D(0, 0);
1337             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE).Get(temp);
1338             return temp;
1339         });
1340
1341         /// <summary>
1342         /// MaximumSizeProperty
1343         /// </summary>
1344         [EditorBrowsable(EditorBrowsableState.Never)]
1345         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1346         {
1347             var view = (View)bindable;
1348             Size2D temp = newValue as Size2D;
1349             if (temp != null)
1350             {
1351                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(temp));
1352             }
1353             else
1354             {
1355                 Tizen.Log.Fatal("NUI", $"[ERROR] can't set MaximumSizeProperty!");
1356             }
1357         },
1358         defaultValueCreator: (bindable) =>
1359         {
1360             var view = (View)bindable;
1361             Size2D temp = new Size2D(0, 0);
1362             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE).Get(temp);
1363             return temp;
1364         });
1365
1366         /// <summary>
1367         /// InheritPositionProperty
1368         /// </summary>
1369         [EditorBrowsable(EditorBrowsableState.Never)]
1370         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create("InheritPosition", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1371         {
1372             var view = (View)bindable;
1373             if (newValue != null)
1374             {
1375                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue((bool)newValue));
1376             }
1377         },
1378         defaultValueCreator: (bindable) =>
1379         {
1380             var view = (View)bindable;
1381             bool temp = false;
1382             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_POSITION).Get(out temp);
1383             return temp;
1384         });
1385
1386         /// <summary>
1387         /// ClippingModeProperty
1388         /// </summary>
1389         [EditorBrowsable(EditorBrowsableState.Never)]
1390         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create("ClippingMode", typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (bindable, oldValue, newValue) =>
1391         {
1392             var view = (View)bindable;
1393             if (newValue != null)
1394             {
1395                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1396             }
1397         },
1398         defaultValueCreator: (bindable) =>
1399         {
1400             var view = (View)bindable;
1401             int temp = 0;
1402             if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.CLIPPING_MODE).Get(out temp) == false)
1403             {
1404                 NUILog.Error("ClippingMode get error!");
1405             }
1406             return (ClippingModeType)temp;
1407         });
1408
1409         /// <summary>
1410         /// InheritLayoutDirectionProperty
1411         /// </summary>
1412         [EditorBrowsable(EditorBrowsableState.Never)]
1413         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create("InheritLayoutDirection", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1414         {
1415             var view = (View)bindable;
1416             if (newValue != null)
1417             {
1418                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
1419             }
1420         },
1421         defaultValueCreator: (bindable) =>
1422         {
1423             var view = (View)bindable;
1424             bool temp = false;
1425             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION).Get(out temp);
1426             return temp;
1427         });
1428
1429         /// <summary>
1430         /// LayoutDirectionProperty
1431         /// </summary>
1432         [EditorBrowsable(EditorBrowsableState.Never)]
1433         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create("LayoutDirection", typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (bindable, oldValue, newValue) =>
1434         {
1435             var view = (View)bindable;
1436             if (newValue != null)
1437             {
1438                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)newValue));
1439             }
1440         },
1441         defaultValueCreator: (bindable) =>
1442         {
1443             var view = (View)bindable;
1444             int temp;
1445             if (false == Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION).Get(out temp))
1446             {
1447                 NUILog.Error("LAYOUT_DIRECTION get error!");
1448             }
1449             return (ViewLayoutDirectionType)temp;
1450         });
1451
1452         /// <summary>
1453         /// MarginProperty
1454         /// </summary>
1455         [EditorBrowsable(EditorBrowsableState.Never)]
1456         public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1457         {
1458             var view = (View)bindable;
1459             if (newValue != null)
1460             {
1461                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1462             }
1463         },
1464         defaultValueCreator: (bindable) =>
1465         {
1466             var view = (View)bindable;
1467             Extents temp = new Extents(0, 0, 0, 0);
1468             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MARGIN).Get(temp);
1469             return temp;
1470         });
1471
1472         /// <summary>
1473         /// UpdateSizeHintProperty
1474         /// </summary>
1475         [EditorBrowsable(EditorBrowsableState.Never)]
1476         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create("UpdateSizeHint", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1477         {
1478             var view = (View)bindable;
1479             if (newValue != null)
1480             {
1481                 Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1482             }
1483         },
1484         defaultValueCreator: (bindable) =>
1485         {
1486             var view = (View)bindable;
1487
1488             Vector2 temp = new Vector2(0.0f, 0.0f);
1489             Tizen.NUI.Object.GetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get()).Get(temp);
1490             return temp;
1491         });
1492
1493         /// <summary>
1494         /// ImageShadow Property
1495         /// </summary>
1496         [EditorBrowsable(EditorBrowsableState.Never)]
1497         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1498         {
1499             var shadow = (ImageShadow)newValue;
1500             var view = (View)bindable;
1501             Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1502         },
1503         defaultValueCreator: (bindable) =>
1504         {
1505             var view = (View)bindable;
1506
1507             PropertyMap map = new PropertyMap();
1508             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SHADOW).Get(map);
1509
1510             var shadow = new ImageShadow(map);
1511             return shadow.IsEmpty() ? null : shadow;
1512         });
1513
1514         /// <summary>
1515         /// Shadow Property
1516         /// </summary>
1517         [EditorBrowsable(EditorBrowsableState.Never)]
1518         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1519         {
1520             var shadow = (Shadow)newValue;
1521             var view = (View)bindable;
1522             Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SHADOW, shadow == null ? new PropertyValue() : shadow.ToPropertyValue(view));
1523         },
1524         defaultValueCreator: (bindable) =>
1525         {
1526             var view = (View)bindable;
1527
1528             PropertyMap map = new PropertyMap();
1529             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SHADOW).Get(map);
1530
1531             var shadow = new Shadow(map);
1532             return shadow.IsEmpty() ? null : shadow;
1533         });
1534
1535         /// <summary>
1536         /// CornerRadius Property
1537         /// </summary>
1538         [EditorBrowsable(EditorBrowsableState.Never)]
1539         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1540         {
1541             var view = (View)bindable;
1542             view.UpdateCornerRadius((float)newValue);
1543         },
1544         defaultValueCreator: (bindable) =>
1545         {
1546             var view = (View)bindable;
1547             return view.backgroundExtraData == null ? 0 : view.backgroundExtraData.CornerRadius;
1548         });
1549
1550         /// <summary>
1551         /// XamlStyleProperty
1552         /// </summary>
1553         [EditorBrowsable(EditorBrowsableState.Never)]
1554         public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create("XamlStyle", typeof(Style), typeof(View), default(Style), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
1555
1556         /// <summary>
1557         /// EnableControlState property
1558         /// </summary>
1559         [EditorBrowsable(EditorBrowsableState.Never)]
1560         public static readonly BindableProperty EnableControlStateProperty = BindableProperty.Create(nameof(EnableControlState), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1561         {
1562             var view = (View)bindable;
1563             bool prev = view.enableControlState;
1564             view.enableControlState = (bool)newValue;
1565
1566             if (prev != view.enableControlState)
1567             {
1568                 if (prev)
1569                 {
1570                     view.TouchEvent -= view.EmptyOnTouch;
1571                 }
1572                 else
1573                 {
1574                     view.TouchEvent += view.EmptyOnTouch;
1575                 }
1576             }
1577         },
1578         defaultValueCreator: (bindable) =>
1579         {
1580             return ((View)bindable).enableControlState;
1581         });
1582
1583         #region Selectors
1584         internal static readonly BindableProperty BackgroundImageSelectorProperty = BindableProperty.Create("BackgroundImageSelector", typeof(Selector<string>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1585         {
1586             var view = (View)bindable;
1587             view.SelectorData.BackgroundImage.Update(view, (Selector<string>)newValue, true);
1588         },
1589         defaultValueCreator: (bindable) =>
1590         {
1591             var view = (View)bindable;
1592             return view.SelectorData.BackgroundImage.Get(view);
1593         });
1594
1595         internal static readonly BindableProperty BackgroundColorSelectorProperty = BindableProperty.Create("BackgroundColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1596         {
1597             var view = (View)bindable;
1598             view.SelectorData.BackgroundColor.Update(view, (Selector<Color>)newValue, true);
1599         },
1600         defaultValueCreator: (bindable) =>
1601         {
1602             var view = (View)bindable;
1603             return view.SelectorData.BackgroundColor.Get(view);
1604         });
1605
1606         internal static readonly BindableProperty BackgroundImageBorderSelectorProperty = BindableProperty.Create("BackgroundImageBorderSelector", typeof(Selector<Rectangle>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1607         {
1608             var view = (View)bindable;
1609             view.SelectorData.BackgroundImageBorder.Update(view, (Selector<Rectangle>)newValue, true);
1610         },
1611         defaultValueCreator: (bindable) =>
1612         {
1613             var view = (View)bindable;
1614             return view.SelectorData.BackgroundImageBorder.Get(view);
1615         });
1616
1617         internal static readonly BindableProperty ColorSelectorProperty = BindableProperty.Create("ColorSelector", typeof(Selector<Color>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1618         {
1619             var view = (View)bindable;
1620             view.SelectorData.Color.Update(view, (Selector<Color>)newValue, true);
1621         },
1622         defaultValueCreator: (bindable) =>
1623         {
1624             var view = (View)bindable;
1625             return view.SelectorData.Color.Get(view);
1626         });
1627
1628         internal static readonly BindableProperty OpacitySelectorProperty = BindableProperty.Create("OpacitySelector", typeof(Selector<float?>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1629         {
1630             var view = (View)bindable;
1631             view.SelectorData.Opacity.Update(view, (Selector<float?>)newValue, true);
1632         },
1633         defaultValueCreator: (bindable) =>
1634         {
1635             var view = (View)bindable;
1636             return view.SelectorData.Opacity.Get(view);
1637         });
1638
1639         /// <summary>
1640         /// ImageShadow Selector Property for binding to ViewStyle
1641         /// </summary>
1642         [EditorBrowsable(EditorBrowsableState.Never)]
1643         public static readonly BindableProperty ImageShadowSelectorProperty = BindableProperty.Create("ImageShadowSelector", typeof(Selector<ImageShadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1644         {
1645             var view = (View)bindable;
1646             view.SelectorData.ImageShadow.Update(view, (Selector<ImageShadow>)newValue, true);
1647         },
1648         defaultValueCreator: (bindable) =>
1649         {
1650             var view = (View)bindable;
1651             return view.SelectorData.ImageShadow.Get(view);
1652         });
1653
1654         /// <summary>
1655         /// BoxShadow Selector Property for binding to ViewStyle
1656         /// </summary>
1657         [EditorBrowsable(EditorBrowsableState.Never)]
1658         public static readonly BindableProperty BoxShadowSelectorProperty = BindableProperty.Create("BoxShadowSelector", typeof(Selector<Shadow>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1659         {
1660             var view = (View)bindable;
1661             view.SelectorData.BoxShadow.Update(view, (Selector<Shadow>)newValue, true);
1662         },
1663         defaultValueCreator: (bindable) =>
1664         {
1665             var view = (View)bindable;
1666             return view.SelectorData.BoxShadow.Get(view);
1667         });
1668
1669         /// <summary>
1670         /// CornerRadius Selector Property
1671         /// </summary>
1672         [EditorBrowsable(EditorBrowsableState.Never)]
1673         public static readonly BindableProperty CornerRadiusSelectorProperty = BindableProperty.Create("CornerRadiusSelector", typeof(Selector<float?>), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1674         {
1675             var view = (View)bindable;
1676             view.SelectorData.CornerRadius.Update(view, (Selector<float?>)newValue, true);
1677         },
1678         defaultValueCreator: (bindable) =>
1679         {
1680             var view = (View)bindable;
1681             return view.SelectorData.CornerRadius.Get(view);
1682         });
1683         #endregion
1684     }
1685 }