[NUI] Fix the issue that the property binding in View are not working properly. ...
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / Style / ViewStyle.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 using System;
18 using System.Collections.Generic;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI.BaseComponents
23 {
24     /// <summary>
25     /// The base class for Children attributes in Components.
26     /// </summary>
27     /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
28     [EditorBrowsable(EditorBrowsableState.Never)]
29     public class ViewStyle : BindableObject
30     {
31         private string styleName;
32         private string backgroundImage;
33         private View.States? state;
34         private View.States? subState;
35         private float? flex;
36         private int? alignSelf;
37         private Vector4 flexMargin;
38         private Vector2 cellIndex;
39         private float? rowSpan;
40         private float? columnSpan;
41         private HorizontalAlignmentType? cellHorizontalAlignment;
42         private VerticalAlignmentType? cellVerticalAlignment;
43         private View leftFocusableView;
44         private View rightFocusableView;
45         private View upFocusableView;
46         private View downFocusableView;
47         private bool? focusable;
48         private Size2D size2D;
49         private Position2D position2D;
50         private bool? positionUsesPivotPoint;
51         private int? siblingOrder;
52         private Position parentOrigin;
53         private Position pivotPoint;
54         private float? sizeWidth;
55         private float? sizeHeight;
56         private Position position;
57         private float? positionX;
58         private float? positionY;
59         private float? positionZ;
60         private Rotation orientation;
61         private Vector3 scale;
62         private float? scaleX;
63         private float? scaleY;
64         private float? scaleZ;
65         private string name;
66         private bool? sensitive;
67         private bool? leaveRequired;
68         private bool? inheritOrientation;
69         private bool? inheritScale;
70         private DrawModeType? drawMode;
71         private Vector3 sizeModeFactor;
72         private ResizePolicyType? widthResizePolicy;
73         private ResizePolicyType? heightResizePolicy;
74         private SizeScalePolicyType? sizeScalePolicy;
75         private bool? widthForHeight;
76         private bool? heightForWidth;
77         private Extents padding;
78         private Size2D minimumSize;
79         private Size2D maximumSize;
80         private bool? inheritPosition;
81         private ClippingModeType? clippingMode;
82         private Size size;
83         private bool? inheritLayoutDirection;
84         private ViewLayoutDirectionType? layoutDirection;
85         private Extents margin;
86         private float? weight;
87
88         static ViewStyle() {}
89
90         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
91         [EditorBrowsable(EditorBrowsableState.Never)]
92         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
93         {
94             var viewStyle = (ViewStyle)bindable;
95             viewStyle.styleName = (string)newValue;
96         },
97         defaultValueCreator: (bindable) =>
98         {
99             var viewStyle = (ViewStyle)bindable;
100             return viewStyle.styleName;
101         });
102         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
103         [EditorBrowsable(EditorBrowsableState.Never)]
104         public static readonly BindableProperty BackgroundImageSelectorProperty = BindableProperty.Create("BackgroundImageSelector", typeof(Selector<string>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
105         {
106             var viewStyle = (ViewStyle)bindable;
107             if (null == viewStyle.backgroundImageSelector) viewStyle.backgroundImageSelector = new Selector<string>();
108             viewStyle.backgroundImageSelector.Clone((Selector<string>)newValue);
109         },
110         defaultValueCreator: (bindable) =>
111         {
112             var viewStyle = (ViewStyle)bindable;
113             return viewStyle.backgroundImageSelector;
114         });
115         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
116         [EditorBrowsable(EditorBrowsableState.Never)]
117         public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(View.States?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
118         {
119             var viewStyle = (ViewStyle)bindable;
120             viewStyle.state = (View.States?)newValue;
121         },
122         defaultValueCreator: (bindable) =>
123         {
124             var viewStyle = (ViewStyle)bindable;
125             return viewStyle.state;
126         });
127         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
128         [EditorBrowsable(EditorBrowsableState.Never)]
129         public static readonly BindableProperty SubStateProperty = BindableProperty.Create(nameof(SubState), typeof(View.States?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
130         {
131             var viewStyle = (ViewStyle)bindable;
132             viewStyle.subState = (View.States?)newValue;
133         },
134         defaultValueCreator: (bindable) =>
135         {
136             var viewStyle = (ViewStyle)bindable;
137             return viewStyle.subState;
138         });
139         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
140         [EditorBrowsable(EditorBrowsableState.Never)]
141         public static readonly BindableProperty FlexProperty = BindableProperty.Create(nameof(Flex), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
142         {
143             var viewStyle = (ViewStyle)bindable;
144             viewStyle.flex = (float?)newValue;
145         },
146         defaultValueCreator: (bindable) =>
147         {
148             var viewStyle = (ViewStyle)bindable;
149             return viewStyle.flex;
150         });
151         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
152         [EditorBrowsable(EditorBrowsableState.Never)]
153         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create(nameof(AlignSelf), typeof(int?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
154         {
155             var viewStyle = (ViewStyle)bindable;
156             viewStyle.alignSelf = (int?)newValue;
157         },
158         defaultValueCreator: (bindable) =>
159         {
160             var viewStyle = (ViewStyle)bindable;
161             return viewStyle.alignSelf;
162         });
163         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
164         [EditorBrowsable(EditorBrowsableState.Never)]
165         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create(nameof(FlexMargin), typeof(Vector4), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
166         {
167             var viewStyle = (ViewStyle)bindable;
168             viewStyle.flexMargin = (Vector4)newValue;
169         },
170         defaultValueCreator: (bindable) =>
171         {
172             var viewStyle = (ViewStyle)bindable;
173             return viewStyle.flexMargin;
174         });
175         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
176         [EditorBrowsable(EditorBrowsableState.Never)]
177         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create(nameof(CellIndex), typeof(Vector2), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
178         {
179             var viewStyle = (ViewStyle)bindable;
180             viewStyle.cellIndex = (Vector2)newValue;
181         },
182         defaultValueCreator: (bindable) =>
183         {
184             var viewStyle = (ViewStyle)bindable;
185             return viewStyle.cellIndex;
186         });
187         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
188         [EditorBrowsable(EditorBrowsableState.Never)]
189         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create(nameof(RowSpan), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
190         {
191             var viewStyle = (ViewStyle)bindable;
192             viewStyle.rowSpan = (float?)newValue;
193         },
194         defaultValueCreator: (bindable) =>
195         {
196             var viewStyle = (ViewStyle)bindable;
197             return viewStyle.rowSpan;
198         });
199         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
200         [EditorBrowsable(EditorBrowsableState.Never)]
201         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create(nameof(ColumnSpan), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
202         {
203             var viewStyle = (ViewStyle)bindable;
204             viewStyle.columnSpan = (float?)newValue;
205         },
206         defaultValueCreator: (bindable) =>
207         {
208             var viewStyle = (ViewStyle)bindable;
209             return viewStyle.columnSpan;
210         });
211         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
212         [EditorBrowsable(EditorBrowsableState.Never)]
213         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create(nameof(CellHorizontalAlignment), typeof(HorizontalAlignmentType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
214         {
215             var viewStyle = (ViewStyle)bindable;
216             viewStyle.cellHorizontalAlignment = (HorizontalAlignmentType?)newValue;
217         },
218         defaultValueCreator: (bindable) =>
219         {
220             var viewStyle = (ViewStyle)bindable;
221             return viewStyle.cellHorizontalAlignment;
222         });
223         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
224         [EditorBrowsable(EditorBrowsableState.Never)]
225         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create(nameof(CellVerticalAlignment), typeof(VerticalAlignmentType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
226         {
227             var viewStyle = (ViewStyle)bindable;
228             viewStyle.cellVerticalAlignment = (VerticalAlignmentType?)newValue;
229         },
230         defaultValueCreator: (bindable) =>
231         {
232             var viewStyle = (ViewStyle)bindable;
233             return viewStyle.cellVerticalAlignment;
234         });
235         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
236         [EditorBrowsable(EditorBrowsableState.Never)]
237         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(LeftFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
238         {
239             var viewStyle = (ViewStyle)bindable;
240             viewStyle.leftFocusableView = (View)newValue;
241         },
242         defaultValueCreator: (bindable) =>
243         {
244             var viewStyle = (ViewStyle)bindable;
245             return viewStyle.leftFocusableView;
246         });
247         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
248         [EditorBrowsable(EditorBrowsableState.Never)]
249         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(RightFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
250         {
251             var viewStyle = (ViewStyle)bindable;
252             viewStyle.rightFocusableView = (View)newValue;
253         },
254         defaultValueCreator: (bindable) =>
255         {
256             var viewStyle = (ViewStyle)bindable;
257             return viewStyle.rightFocusableView;
258         });
259         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
260         [EditorBrowsable(EditorBrowsableState.Never)]
261         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(UpFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
262         {
263             var viewStyle = (ViewStyle)bindable;
264             viewStyle.upFocusableView = (View)newValue;
265         },
266         defaultValueCreator: (bindable) =>
267         {
268             var viewStyle = (ViewStyle)bindable;
269             return viewStyle.upFocusableView;
270         });
271         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
272         [EditorBrowsable(EditorBrowsableState.Never)]
273         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(DownFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
274         {
275             var viewStyle = (ViewStyle)bindable;
276             viewStyle.downFocusableView = (View)newValue;
277         },
278         defaultValueCreator: (bindable) =>
279         {
280             var viewStyle = (ViewStyle)bindable;
281             return viewStyle.downFocusableView;
282         });
283         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
284         [EditorBrowsable(EditorBrowsableState.Never)]
285         public static readonly BindableProperty FocusableProperty = BindableProperty.Create(nameof(Focusable), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
286         {
287             var viewStyle = (ViewStyle)bindable;
288             viewStyle.focusable = (bool?)newValue;
289         },
290         defaultValueCreator: (bindable) =>
291         {
292             var viewStyle = (ViewStyle)bindable;
293             return viewStyle.focusable;
294         });
295         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
296         [EditorBrowsable(EditorBrowsableState.Never)]
297         public static readonly BindableProperty Size2DProperty = BindableProperty.Create(nameof(Size2D), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
298         {
299             var viewStyle = (ViewStyle)bindable;
300             viewStyle.size2D = (Size2D)newValue;
301         },
302         defaultValueCreator: (bindable) =>
303         {
304             var viewStyle = (ViewStyle)bindable;
305             return viewStyle.size2D;
306         });
307         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
308         [EditorBrowsable(EditorBrowsableState.Never)]
309         public static readonly BindableProperty OpacitySelectorProperty = BindableProperty.Create("OpacitySelector", typeof(Selector<float?>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
310         {
311             var viewStyle = (ViewStyle)bindable;
312             if (null == viewStyle.opacitySelector) viewStyle.opacitySelector = new Selector<float?>();
313             viewStyle.opacitySelector.Clone((Selector<float?>)newValue);
314         },
315         defaultValueCreator: (bindable) =>
316         {
317             var controlStyle = (ViewStyle)bindable;
318             return controlStyle.opacitySelector;
319         });
320         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
321         [EditorBrowsable(EditorBrowsableState.Never)]
322         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
323         {
324             var viewStyle = (ViewStyle)bindable;
325             viewStyle.position2D = (Position2D)newValue;
326         },
327         defaultValueCreator: (bindable) =>
328         {
329             var viewStyle = (ViewStyle)bindable;
330             return viewStyle.position2D;
331         });
332         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
333         [EditorBrowsable(EditorBrowsableState.Never)]
334         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
335         {
336             var viewStyle = (ViewStyle)bindable;
337             viewStyle.positionUsesPivotPoint = (bool?)newValue;
338         },
339         defaultValueCreator: (bindable) =>
340         {
341             var viewStyle = (ViewStyle)bindable;
342             return viewStyle.positionUsesPivotPoint;
343         });
344         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
345         [EditorBrowsable(EditorBrowsableState.Never)]
346         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
347         {
348             var viewStyle = (ViewStyle)bindable;
349             viewStyle.siblingOrder = (int?)newValue;
350         },
351         defaultValueCreator: (bindable) =>
352         {
353             var viewStyle = (ViewStyle)bindable;
354             return viewStyle.siblingOrder;
355         });
356         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
357         [EditorBrowsable(EditorBrowsableState.Never)]
358         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
359         {
360             var viewStyle = (ViewStyle)bindable;
361             viewStyle.parentOrigin = (Position)newValue;
362         },
363         defaultValueCreator: (bindable) =>
364         {
365             var viewStyle = (ViewStyle)bindable;
366             return viewStyle.parentOrigin;
367         });
368         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
369         [EditorBrowsable(EditorBrowsableState.Never)]
370         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
371         {
372             var viewStyle = (ViewStyle)bindable;
373             viewStyle.pivotPoint = (Position)newValue;
374         },
375         defaultValueCreator: (bindable) =>
376         {
377             var viewStyle = (ViewStyle)bindable;
378             return viewStyle.pivotPoint;
379         });
380         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
381         [EditorBrowsable(EditorBrowsableState.Never)]
382         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
383         {
384             var viewStyle = (ViewStyle)bindable;
385             viewStyle.sizeWidth = (float?)newValue;
386         },
387         defaultValueCreator: (bindable) =>
388         {
389             var viewStyle = (ViewStyle)bindable;
390             return viewStyle.sizeWidth;
391         });
392         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
393         [EditorBrowsable(EditorBrowsableState.Never)]
394         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
395         {
396             var viewStyle = (ViewStyle)bindable;
397             viewStyle.sizeHeight = (float?)newValue;
398         },
399         defaultValueCreator: (bindable) =>
400         {
401             var viewStyle = (ViewStyle)bindable;
402             return viewStyle.sizeHeight;
403         });
404         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
405         [EditorBrowsable(EditorBrowsableState.Never)]
406         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
407         {
408             var viewStyle = (ViewStyle)bindable;
409             viewStyle.position = (Position)newValue;
410         },
411         defaultValueCreator: (bindable) =>
412         {
413             var viewStyle = (ViewStyle)bindable;
414             return viewStyle.position;
415         });
416         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
417         [EditorBrowsable(EditorBrowsableState.Never)]
418         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
419         {
420             var viewStyle = (ViewStyle)bindable;
421             viewStyle.positionX = (float?)newValue;
422         },
423         defaultValueCreator: (bindable) =>
424         {
425             var viewStyle = (ViewStyle)bindable;
426             return viewStyle.positionX;
427         });
428         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
429         [EditorBrowsable(EditorBrowsableState.Never)]
430         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
431         {
432             var viewStyle = (ViewStyle)bindable;
433             viewStyle.positionY = (float?)newValue;
434         },
435         defaultValueCreator: (bindable) =>
436         {
437             var viewStyle = (ViewStyle)bindable;
438             return viewStyle.positionY;
439         });
440         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
441         [EditorBrowsable(EditorBrowsableState.Never)]
442         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
443         {
444             var viewStyle = (ViewStyle)bindable;
445             viewStyle.positionZ = (float?)newValue;
446         },
447         defaultValueCreator: (bindable) =>
448         {
449             var viewStyle = (ViewStyle)bindable;
450             return viewStyle.positionZ;
451         });
452         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
453         [EditorBrowsable(EditorBrowsableState.Never)]
454         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
455         {
456             var viewStyle = (ViewStyle)bindable;
457             viewStyle.orientation = (Rotation)newValue;
458         },
459         defaultValueCreator: (bindable) =>
460         {
461             var viewStyle = (ViewStyle)bindable;
462             return viewStyle.orientation;
463         });
464         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
465         [EditorBrowsable(EditorBrowsableState.Never)]
466         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
467         {
468             var viewStyle = (ViewStyle)bindable;
469             viewStyle.scale = (Vector3)newValue;
470         },
471         defaultValueCreator: (bindable) =>
472         {
473             var viewStyle = (ViewStyle)bindable;
474             return viewStyle.scale;
475         });
476         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
477         [EditorBrowsable(EditorBrowsableState.Never)]
478         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
479         {
480             var viewStyle = (ViewStyle)bindable;
481             viewStyle.scaleX = (float?)newValue;
482         },
483         defaultValueCreator: (bindable) =>
484         {
485             var viewStyle = (ViewStyle)bindable;
486             return viewStyle.scaleX;
487         });
488         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
489         [EditorBrowsable(EditorBrowsableState.Never)]
490         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
491         {
492             var viewStyle = (ViewStyle)bindable;
493             viewStyle.scaleY = (float?)newValue;
494         },
495         defaultValueCreator: (bindable) =>
496         {
497             var viewStyle = (ViewStyle)bindable;
498             return viewStyle.scaleY;
499         });
500         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
501         [EditorBrowsable(EditorBrowsableState.Never)]
502         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
503         {
504             var viewStyle = (ViewStyle)bindable;
505             viewStyle.scaleZ = (float?)newValue;
506         },
507         defaultValueCreator: (bindable) =>
508         {
509             var viewStyle = (ViewStyle)bindable;
510             return viewStyle.scaleZ;
511         });
512         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
513         [EditorBrowsable(EditorBrowsableState.Never)]
514         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
515         {
516             var viewStyle = (ViewStyle)bindable;
517             viewStyle.name = (string)newValue;
518         },
519         defaultValueCreator: (bindable) =>
520         {
521             var viewStyle = (ViewStyle)bindable;
522             return viewStyle.name;
523         });
524         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
525         [EditorBrowsable(EditorBrowsableState.Never)]
526         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
527         {
528             var viewStyle = (ViewStyle)bindable;
529             viewStyle.sensitive = (bool?)newValue;
530         },
531         defaultValueCreator: (bindable) =>
532         {
533             var viewStyle = (ViewStyle)bindable;
534             return viewStyle.sensitive;
535         });
536         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
537         [EditorBrowsable(EditorBrowsableState.Never)]
538         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
539         {
540             var viewStyle = (ViewStyle)bindable;
541             viewStyle.leaveRequired = (bool?)newValue;
542         },
543         defaultValueCreator: (bindable) =>
544         {
545             var viewStyle = (ViewStyle)bindable;
546             return viewStyle.leaveRequired;
547         });
548         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
549         [EditorBrowsable(EditorBrowsableState.Never)]
550         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
551         {
552             var viewStyle = (ViewStyle)bindable;
553             viewStyle.inheritOrientation = (bool?)newValue;
554         },
555         defaultValueCreator: (bindable) =>
556         {
557             var viewStyle = (ViewStyle)bindable;
558             return viewStyle.inheritOrientation;
559         });
560         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
561         [EditorBrowsable(EditorBrowsableState.Never)]
562         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
563         {
564             var viewStyle = (ViewStyle)bindable;
565             viewStyle.inheritScale = (bool?)newValue;
566         },
567         defaultValueCreator: (bindable) =>
568         {
569             var viewStyle = (ViewStyle)bindable;
570             return viewStyle.inheritScale;
571         });
572         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
573         [EditorBrowsable(EditorBrowsableState.Never)]
574         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
575         {
576             var viewStyle = (ViewStyle)bindable;
577             viewStyle.drawMode = (DrawModeType?)newValue;
578         },
579         defaultValueCreator: (bindable) =>
580         {
581             var viewStyle = (ViewStyle)bindable;
582             return viewStyle.drawMode;
583         });
584         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
585         [EditorBrowsable(EditorBrowsableState.Never)]
586         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
587         {
588             var viewStyle = (ViewStyle)bindable;
589             viewStyle.sizeModeFactor = (Vector3)newValue;
590         },
591         defaultValueCreator: (bindable) =>
592         {
593             var viewStyle = (ViewStyle)bindable;
594             return viewStyle.sizeModeFactor;
595         });
596         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
597         [EditorBrowsable(EditorBrowsableState.Never)]
598         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
599         {
600             var viewStyle = (ViewStyle)bindable;
601             viewStyle.widthResizePolicy = (ResizePolicyType?)newValue;
602         },
603         defaultValueCreator: (bindable) =>
604         {
605             var viewStyle = (ViewStyle)bindable;
606             return viewStyle.widthResizePolicy;
607         });
608         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
609         [EditorBrowsable(EditorBrowsableState.Never)]
610         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
611         {
612             var viewStyle = (ViewStyle)bindable;
613             viewStyle.heightResizePolicy = (ResizePolicyType?)newValue;
614         },
615         defaultValueCreator: (bindable) =>
616         {
617             var viewStyle = (ViewStyle)bindable;
618             return viewStyle.heightResizePolicy;
619         });
620         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
621         [EditorBrowsable(EditorBrowsableState.Never)]
622         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
623         {
624             var viewStyle = (ViewStyle)bindable;
625             viewStyle.sizeScalePolicy = (SizeScalePolicyType?)newValue;
626         },
627         defaultValueCreator: (bindable) =>
628         {
629             var viewStyle = (ViewStyle)bindable;
630             return viewStyle.sizeScalePolicy;
631         });
632         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
633         [EditorBrowsable(EditorBrowsableState.Never)]
634         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
635         {
636             var viewStyle = (ViewStyle)bindable;
637             viewStyle.widthForHeight = (bool?)newValue;
638         },
639         defaultValueCreator: (bindable) =>
640         {
641             var viewStyle = (ViewStyle)bindable;
642             return viewStyle.widthForHeight;
643         });
644         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
645         [EditorBrowsable(EditorBrowsableState.Never)]
646         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
647         {
648             var viewStyle = (ViewStyle)bindable;
649             viewStyle.heightForWidth = (bool?)newValue;
650         },
651         defaultValueCreator: (bindable) =>
652         {
653             var viewStyle = (ViewStyle)bindable;
654             return viewStyle.heightForWidth;
655         });
656         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
657         [EditorBrowsable(EditorBrowsableState.Never)]
658         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
659         {
660             var viewStyle = (ViewStyle)bindable;
661             viewStyle.padding = (Extents)newValue;
662         },
663         defaultValueCreator: (bindable) =>
664         {
665             var viewStyle = (ViewStyle)bindable;
666             return viewStyle.padding;
667         });
668         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
669         [EditorBrowsable(EditorBrowsableState.Never)]
670         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
671         {
672             var viewStyle = (ViewStyle)bindable;
673             viewStyle.minimumSize = (Size2D)newValue;
674         },
675         defaultValueCreator: (bindable) =>
676         {
677             var viewStyle = (ViewStyle)bindable;
678             return viewStyle.minimumSize;
679         });
680         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
681         [EditorBrowsable(EditorBrowsableState.Never)]
682         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
683         {
684             var viewStyle = (ViewStyle)bindable;
685             viewStyle.maximumSize = (Size2D)newValue;
686         },
687         defaultValueCreator: (bindable) =>
688         {
689             var viewStyle = (ViewStyle)bindable;
690             return viewStyle.maximumSize;
691         });
692         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
693         [EditorBrowsable(EditorBrowsableState.Never)]
694         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
695         {
696             var viewStyle = (ViewStyle)bindable;
697             viewStyle.inheritPosition = (bool?)newValue;
698         },
699         defaultValueCreator: (bindable) =>
700         {
701             var viewStyle = (ViewStyle)bindable;
702             return viewStyle.inheritPosition;
703         });
704         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
705         [EditorBrowsable(EditorBrowsableState.Never)]
706         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
707         {
708             var viewStyle = (ViewStyle)bindable;
709             viewStyle.clippingMode = (ClippingModeType?)newValue;
710         },
711         defaultValueCreator: (bindable) =>
712         {
713             var viewStyle = (ViewStyle)bindable;
714             return viewStyle.clippingMode;
715         });
716         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
717         [EditorBrowsable(EditorBrowsableState.Never)]
718         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
719         {
720             var viewStyle = (ViewStyle)bindable;
721             viewStyle.size = (Size)newValue;
722         },
723         defaultValueCreator: (bindable) =>
724         {
725             var viewStyle = (ViewStyle)bindable;
726             return viewStyle.size;
727         });
728         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
729         [EditorBrowsable(EditorBrowsableState.Never)]
730         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
731         {
732             var viewStyle = (ViewStyle)bindable;
733             viewStyle.inheritLayoutDirection = (bool?)newValue;
734         },
735         defaultValueCreator: (bindable) =>
736         {
737             var viewStyle = (ViewStyle)bindable;
738             return viewStyle.inheritLayoutDirection;
739         });
740         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
741         [EditorBrowsable(EditorBrowsableState.Never)]
742         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
743         {
744             var viewStyle = (ViewStyle)bindable;
745             viewStyle.layoutDirection = (ViewLayoutDirectionType?)newValue;
746         },
747         defaultValueCreator: (bindable) =>
748         {
749             var viewStyle = (ViewStyle)bindable;
750             return viewStyle.layoutDirection;
751         });
752         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
753         [EditorBrowsable(EditorBrowsableState.Never)]
754         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
755         {
756             var viewStyle = (ViewStyle)bindable;
757             viewStyle.margin = (Extents)newValue;
758         },
759         defaultValueCreator: (bindable) =>
760         {
761             var viewStyle = (ViewStyle)bindable;
762             return viewStyle.margin;
763         });
764         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
765         [EditorBrowsable(EditorBrowsableState.Never)]
766         public static readonly BindableProperty WeightProperty = BindableProperty.Create(nameof(Weight), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
767         {
768             var viewStyle = (ViewStyle)bindable;
769             viewStyle.weight = (float?)newValue;
770         },
771         defaultValueCreator: (bindable) =>
772         {
773             var viewStyle = (ViewStyle)bindable;
774             return viewStyle.weight;
775         });
776         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
777         [EditorBrowsable(EditorBrowsableState.Never)]
778         public static readonly BindableProperty BackgroundColorSelectorProperty = BindableProperty.Create("BackgroundColorSelector", typeof(Selector<Color>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
779         {
780             var viewStyle = (ViewStyle)bindable;
781             if (null == viewStyle.backgroundColorSelector) viewStyle.backgroundColorSelector = new Selector<Color>();
782             viewStyle.backgroundColorSelector.Clone((Selector<Color>)newValue);
783         },
784         defaultValueCreator: (bindable) =>
785         {
786             var viewStyle = (ViewStyle)bindable;
787             return viewStyle.backgroundColorSelector;
788         });
789         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
790         [EditorBrowsable(EditorBrowsableState.Never)]
791         public static readonly BindableProperty BackgroundImageBorderSelectorProperty = BindableProperty.Create("BackgroundImageBorderSelector", typeof(Selector<Rectangle>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
792         {
793             var viewStyle = (ViewStyle)bindable;
794             if (null == viewStyle.backgroundImageBorderSelector) viewStyle.backgroundImageBorderSelector = new Selector<Rectangle>();
795             viewStyle.backgroundImageBorderSelector.Clone((Selector<Rectangle>)newValue);
796         },
797         defaultValueCreator: (bindable) =>
798         {
799             var viewStyle = (ViewStyle)bindable;
800             return viewStyle.backgroundImageBorderSelector;
801         });
802
803         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
804         [EditorBrowsable(EditorBrowsableState.Never)]
805         public ViewStyle()
806         {
807         }
808
809         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
810         [EditorBrowsable(EditorBrowsableState.Never)]
811         public ViewStyle(ViewStyle viewAttributes)
812         {
813             if (null != viewAttributes)
814             {
815                 this.CopyFrom(viewAttributes);
816             }
817         }
818
819         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
820         [EditorBrowsable(EditorBrowsableState.Never)]
821         public string StyleName
822         {
823             get => (string)GetValue(StyleNameProperty);
824             set => SetValue(StyleNameProperty, value);
825         }
826
827         private Selector<string> backgroundImageSelector;
828         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
829         [EditorBrowsable(EditorBrowsableState.Never)]
830         public Selector<string> BackgroundImage
831         {
832             get
833             {
834                 Selector<string> image = (Selector<string>)GetValue(BackgroundImageSelectorProperty);
835                 return (null != image) ? image : backgroundImageSelector = new Selector<string>();
836             }
837             set => SetValue(BackgroundImageSelectorProperty, value);
838         }
839
840         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
841         [EditorBrowsable(EditorBrowsableState.Never)]
842         public View.States? State
843         {
844             get => (View.States?)GetValue(StateProperty);
845             set => SetValue(StateProperty, value);
846         }
847
848         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
849         [EditorBrowsable(EditorBrowsableState.Never)]
850         public View.States? SubState
851         {
852             get => (View.States?)GetValue(SubStateProperty);
853             set => SetValue(SubStateProperty, value);
854         }
855
856         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
857         [EditorBrowsable(EditorBrowsableState.Never)]
858         public float? Flex
859         {
860             get => (float?)GetValue(FlexProperty);
861             set => SetValue(FlexProperty, value);
862         }
863
864         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
865         [EditorBrowsable(EditorBrowsableState.Never)]
866         public int? AlignSelf
867         {
868             get => (int?)GetValue(AlignSelfProperty);
869             set => SetValue(AlignSelfProperty, value);
870         }
871
872         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
873         [EditorBrowsable(EditorBrowsableState.Never)]
874         public Vector4 FlexMargin
875         {
876             get => (Vector4)GetValue(FlexMarginProperty);
877             set => SetValue(FlexMarginProperty, value);
878         }
879
880         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
881         [EditorBrowsable(EditorBrowsableState.Never)]
882         public Vector2 CellIndex
883         {
884             get => (Vector2)GetValue(CellIndexProperty);
885             set => SetValue(CellIndexProperty, value);
886         }
887
888         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
889         [EditorBrowsable(EditorBrowsableState.Never)]
890         public float? RowSpan
891         {
892             get => (float?)GetValue(RowSpanProperty);
893             set => SetValue(RowSpanProperty, value);
894         }
895
896         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
897         [EditorBrowsable(EditorBrowsableState.Never)]
898         public float? ColumnSpan
899         {
900             get => (float?)GetValue(ColumnSpanProperty);
901             set => SetValue(ColumnSpanProperty, value);
902         }
903
904         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
905         [EditorBrowsable(EditorBrowsableState.Never)]
906         public HorizontalAlignmentType? CellHorizontalAlignment
907         {
908             get => (HorizontalAlignmentType?)GetValue(CellHorizontalAlignmentProperty);
909             set => SetValue(CellHorizontalAlignmentProperty, value);
910         }
911
912         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
913         [EditorBrowsable(EditorBrowsableState.Never)]
914         public VerticalAlignmentType? CellVerticalAlignment
915         {
916             get => (VerticalAlignmentType?)GetValue(CellVerticalAlignmentProperty);
917             set => SetValue(CellVerticalAlignmentProperty, value);
918         }
919
920         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
921         [EditorBrowsable(EditorBrowsableState.Never)]
922         public View LeftFocusableView
923         {
924             get => (View)GetValue(LeftFocusableViewProperty);
925             set => SetValue(LeftFocusableViewProperty, value);
926         }
927
928         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
929         [EditorBrowsable(EditorBrowsableState.Never)]
930         public View RightFocusableView
931         {
932             get => (View)GetValue(RightFocusableViewProperty);
933             set => SetValue(RightFocusableViewProperty, value);
934         }
935
936         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
937         [EditorBrowsable(EditorBrowsableState.Never)]
938         public View UpFocusableView
939         {
940             get => (View)GetValue(UpFocusableViewProperty);
941             set => SetValue(UpFocusableViewProperty, value);
942         }
943
944         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
945         [EditorBrowsable(EditorBrowsableState.Never)]
946         public View DownFocusableView
947         {
948             get => (View)GetValue(DownFocusableViewProperty);
949             set => SetValue(DownFocusableViewProperty, value);
950         }
951
952         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
953         [EditorBrowsable(EditorBrowsableState.Never)]
954         public bool? Focusable
955         {
956             get => (bool?)GetValue(FocusableProperty);
957             set => SetValue(FocusableProperty, value);
958         }
959
960         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
961         [EditorBrowsable(EditorBrowsableState.Never)]
962         public Size2D Size2D
963         {
964             get => (Size2D)GetValue(Size2DProperty);
965             set => SetValue(Size2DProperty, value);
966         }
967
968         private Selector<float?> opacitySelector;
969         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
970         [EditorBrowsable(EditorBrowsableState.Never)]
971         public Selector<float?> Opacity
972         {
973             get
974             {
975                 Selector<float?> opacity = (Selector<float?>)GetValue(OpacitySelectorProperty);
976                 return (null != opacity) ? opacity : opacitySelector = new Selector<float?>();
977             }
978             set => SetValue(OpacitySelectorProperty, value);
979         }
980
981         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
982         [EditorBrowsable(EditorBrowsableState.Never)]
983         public Position2D Position2D
984         {
985             get => (Position2D)GetValue(Position2DProperty);
986             set => SetValue(Position2DProperty, value);
987         }
988
989         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
990         [EditorBrowsable(EditorBrowsableState.Never)]
991         public bool? PositionUsesPivotPoint
992         {
993             get => (bool?)GetValue(PositionUsesPivotPointProperty);
994             set => SetValue(PositionUsesPivotPointProperty, value);
995         }
996
997         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
998         [EditorBrowsable(EditorBrowsableState.Never)]
999         public int? SiblingOrder
1000         {
1001             get => (int?)GetValue(SiblingOrderProperty);
1002             set => SetValue(SiblingOrderProperty, value);
1003         }
1004
1005         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1006         [EditorBrowsable(EditorBrowsableState.Never)]
1007         public Position ParentOrigin
1008         {
1009             get => (Position)GetValue(ParentOriginProperty);
1010             set => SetValue(ParentOriginProperty, value);
1011         }
1012
1013         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1014         [EditorBrowsable(EditorBrowsableState.Never)]
1015         public Position PivotPoint
1016         {
1017             get => (Position)GetValue(PivotPointProperty);
1018             set => SetValue(PivotPointProperty, value);
1019         }
1020
1021         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1022         [EditorBrowsable(EditorBrowsableState.Never)]
1023         public float? SizeWidth
1024         {
1025             get => (float?)GetValue(SizeWidthProperty);
1026             set => SetValue(SizeWidthProperty, value);
1027         }
1028
1029         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1030         [EditorBrowsable(EditorBrowsableState.Never)]
1031         public float? SizeHeight
1032         {
1033             get => (float?)GetValue(SizeHeightProperty);
1034             set => SetValue(SizeHeightProperty, value);
1035         }
1036
1037         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1038         [EditorBrowsable(EditorBrowsableState.Never)]
1039         public Position Position
1040         {
1041             get => (Position)GetValue(PositionProperty);
1042             set => SetValue(PositionProperty, value);
1043         }
1044
1045         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1046         [EditorBrowsable(EditorBrowsableState.Never)]
1047         public float? PositionX
1048         {
1049             get => (float?)GetValue(PositionXProperty);
1050             set => SetValue(PositionXProperty, value);
1051         }
1052
1053         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1054         [EditorBrowsable(EditorBrowsableState.Never)]
1055         public float? PositionY
1056         {
1057             get => (float?)GetValue(PositionYProperty);
1058             set => SetValue(PositionYProperty, value);
1059         }
1060
1061         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1062         [EditorBrowsable(EditorBrowsableState.Never)]
1063         public float? PositionZ
1064         {
1065             get => (float?)GetValue(PositionZProperty);
1066             set => SetValue(PositionZProperty, value);
1067         }
1068
1069         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1070         [EditorBrowsable(EditorBrowsableState.Never)]
1071         public Rotation Orientation
1072         {
1073             get => (Rotation)GetValue(OrientationProperty);
1074             set => SetValue(OrientationProperty, value);
1075         }
1076
1077         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1078         [EditorBrowsable(EditorBrowsableState.Never)]
1079         public Vector3 Scale
1080         {
1081             get => (Vector3)GetValue(ScaleProperty);
1082             set => SetValue(ScaleProperty, value);
1083         }
1084
1085         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1086         [EditorBrowsable(EditorBrowsableState.Never)]
1087         public float? ScaleX
1088         {
1089             get => (float?)GetValue(ScaleXProperty);
1090             set => SetValue(ScaleXProperty, value);
1091         }
1092
1093         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1094         [EditorBrowsable(EditorBrowsableState.Never)]
1095         public float? ScaleY
1096         {
1097             get => (float?)GetValue(ScaleYProperty);
1098             set => SetValue(ScaleYProperty, value);
1099         }
1100
1101         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1102         [EditorBrowsable(EditorBrowsableState.Never)]
1103         public float? ScaleZ
1104         {
1105             get => (float?)GetValue(ScaleZProperty);
1106             set => SetValue(ScaleZProperty, value);
1107         }
1108
1109         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1110         [EditorBrowsable(EditorBrowsableState.Never)]
1111         public string Name
1112         {
1113             get => (string)GetValue(NameProperty);
1114             set => SetValue(NameProperty, value);
1115         }
1116
1117         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1118         [EditorBrowsable(EditorBrowsableState.Never)]
1119         public bool? Sensitive
1120         {
1121             get => (bool?)GetValue(SensitiveProperty);
1122             set => SetValue(SensitiveProperty, value);
1123         }
1124
1125         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1126         [EditorBrowsable(EditorBrowsableState.Never)]
1127         public bool? LeaveRequired
1128         {
1129             get => (bool?)GetValue(LeaveRequiredProperty);
1130             set => SetValue(LeaveRequiredProperty, value);
1131         }
1132
1133         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1134         [EditorBrowsable(EditorBrowsableState.Never)]
1135         public bool? InheritOrientation
1136         {
1137             get => (bool?)GetValue(InheritOrientationProperty);
1138             set => SetValue(InheritOrientationProperty, value);
1139         }
1140
1141         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1142         [EditorBrowsable(EditorBrowsableState.Never)]
1143         public bool? InheritScale
1144         {
1145             get => (bool?)GetValue(InheritScaleProperty);
1146             set => SetValue(InheritScaleProperty, value);
1147         }
1148
1149         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1150         [EditorBrowsable(EditorBrowsableState.Never)]
1151         public DrawModeType? DrawMode
1152         {
1153             get => (DrawModeType?)GetValue(DrawModeProperty);
1154             set => SetValue(DrawModeProperty, value);
1155         }
1156
1157         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1158         [EditorBrowsable(EditorBrowsableState.Never)]
1159         public Vector3 SizeModeFactor
1160         {
1161             get => (Vector3)GetValue(SizeModeFactorProperty);
1162             set => SetValue(SizeModeFactorProperty, value);
1163         }
1164
1165         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1166         [EditorBrowsable(EditorBrowsableState.Never)]
1167         public ResizePolicyType? WidthResizePolicy
1168         {
1169             get => (ResizePolicyType?)GetValue(WidthResizePolicyProperty);
1170             set => SetValue(WidthResizePolicyProperty, value);
1171         }
1172
1173         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1174         [EditorBrowsable(EditorBrowsableState.Never)]
1175         public ResizePolicyType? HeightResizePolicy
1176         {
1177             get => (ResizePolicyType?)GetValue(HeightResizePolicyProperty);
1178             set => SetValue(HeightResizePolicyProperty, value);
1179         }
1180
1181         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1182         [EditorBrowsable(EditorBrowsableState.Never)]
1183         public SizeScalePolicyType? SizeScalePolicy
1184         {
1185             get => (SizeScalePolicyType?)GetValue(SizeScalePolicyProperty);
1186             set => SetValue(SizeScalePolicyProperty, value);
1187         }
1188
1189         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1190         [EditorBrowsable(EditorBrowsableState.Never)]
1191         public bool? WidthForHeight
1192         {
1193             get => (bool?)GetValue(WidthForHeightProperty);
1194             set => SetValue(WidthForHeightProperty, value);
1195         }
1196
1197         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1198         [EditorBrowsable(EditorBrowsableState.Never)]
1199         public bool? HeightForWidth
1200         {
1201             get => (bool?)GetValue(HeightForWidthProperty);
1202             set => SetValue(HeightForWidthProperty, value);
1203         }
1204
1205         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1206         [EditorBrowsable(EditorBrowsableState.Never)]
1207         public Extents Padding
1208         {
1209             get
1210             {
1211                 Extents tmp = (Extents)GetValue(PaddingProperty);
1212                 return (null != tmp) ? tmp : padding = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { Padding = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
1213             }
1214             set => SetValue(PaddingProperty, value);
1215         }
1216
1217         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1218         [EditorBrowsable(EditorBrowsableState.Never)]
1219         public Size2D MinimumSize
1220         {
1221             get => (Size2D)GetValue(MinimumSizeProperty);
1222             set => SetValue(MinimumSizeProperty, value);
1223         }
1224
1225         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1226         [EditorBrowsable(EditorBrowsableState.Never)]
1227         public Size2D MaximumSize
1228         {
1229             get => (Size2D)GetValue(MaximumSizeProperty);
1230             set => SetValue(MaximumSizeProperty, value);
1231         }
1232
1233         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1234         [EditorBrowsable(EditorBrowsableState.Never)]
1235         public bool? InheritPosition
1236         {
1237             get => (bool?)GetValue(InheritPositionProperty);
1238             set => SetValue(InheritPositionProperty, value);
1239         }
1240
1241         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1242         [EditorBrowsable(EditorBrowsableState.Never)]
1243         public ClippingModeType? ClippingMode
1244         {
1245             get => (ClippingModeType?)GetValue(ClippingModeProperty);
1246             set => SetValue(ClippingModeProperty, value);
1247         }
1248
1249         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1250         [EditorBrowsable(EditorBrowsableState.Never)]
1251         public Size Size
1252         {
1253             get
1254             {
1255                 Size tmp = (Size)GetValue(SizeProperty);
1256                 return (null != tmp) ? tmp : size = new Size((float width, float height, float depth) => { Size = new Size(width, height, depth); }, 0, 0, 0);
1257             }
1258             set => SetValue(SizeProperty, value);
1259         }
1260
1261         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1262         [EditorBrowsable(EditorBrowsableState.Never)]
1263         public bool? InheritLayoutDirection
1264         {
1265             get => (bool?)GetValue(InheritLayoutDirectionProperty);
1266             set => SetValue(InheritLayoutDirectionProperty, value);
1267         }
1268
1269         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1270         [EditorBrowsable(EditorBrowsableState.Never)]
1271         public ViewLayoutDirectionType? LayoutDirection
1272         {
1273             get => (ViewLayoutDirectionType?)GetValue(LayoutDirectionProperty);
1274             set => SetValue(LayoutDirectionProperty, value);
1275         }
1276
1277         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1278         [EditorBrowsable(EditorBrowsableState.Never)]
1279         public Extents Margin
1280         {
1281             get
1282             {
1283                 Extents tmp = (Extents)GetValue(MarginProperty);
1284                 return (null != tmp) ? tmp : margin = new Extents((ushort start, ushort end, ushort top, ushort bottom) => { Margin = new Extents(start, end, top, bottom); }, 0, 0, 0, 0);
1285             }
1286             set => SetValue(MarginProperty, value);
1287         }
1288
1289         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1290         [EditorBrowsable(EditorBrowsableState.Never)]
1291         public float? Weight
1292         {
1293             get => (float?)GetValue(WeightProperty);
1294             set => SetValue(WeightProperty, value);
1295         }
1296
1297         private Selector<Color> backgroundColorSelector;
1298         /// <summary> View BackgroundColor </summary>
1299         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1300         [EditorBrowsable(EditorBrowsableState.Never)]
1301         public Selector<Color> BackgroundColor
1302         {
1303             get
1304             {
1305                 Selector<Color> color = (Selector<Color>)GetValue(BackgroundColorSelectorProperty);
1306                 return (null != color) ? color : backgroundColorSelector = new Selector<Color>();
1307             }
1308             set => SetValue(BackgroundColorSelectorProperty, value);
1309         }
1310         private Selector<Rectangle> backgroundImageBorderSelector;
1311         /// <summary>View BackgroundBorder</summary>
1312         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1313         [EditorBrowsable(EditorBrowsableState.Never)]
1314         public Selector<Rectangle> BackgroundImageBorder
1315         {
1316             get
1317             {
1318                 Selector<Rectangle> border = (Selector<Rectangle>)GetValue(BackgroundImageBorderSelectorProperty);
1319                 return (null != border) ? border : backgroundImageBorderSelector = new Selector<Rectangle>();
1320             }
1321             set => SetValue(BackgroundImageBorderSelectorProperty, value);
1322         }
1323     }
1324 }