}
/// <summary>
+ /// Get attribues, it is abstract function and must be override.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected override ViewStyle GetViewStyle()
+ {
+ return new TextLabelStyle();
+ }
+
+ internal static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ textLabel.TranslatableTextSelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ return textLabel.TranslatableTextSelector;
+ });
+ internal static readonly BindableProperty TextSelectorProperty = BindableProperty.Create("TextSelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ textLabel.textSelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ return textLabel.textSelector;
+ });
+ internal static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create("FontFamilySelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ textLabel.fontFamilySelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ return textLabel.fontFamilySelector;
+ });
+ internal static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create("PointSizeSelector", typeof(Selector<float?>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ textLabel.pointSizeSelector.Clone((Selector<float?>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ return textLabel.pointSizeSelector;
+ });
+ internal static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create("TextColorSelector", typeof(Selector<Color>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ textLabel.textColorSelector.Clone((Selector<Color>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ return textLabel.textColorSelector;
+ });
+
+ private TriggerableSelector<string> translatableTextSelector;
+ private TriggerableSelector<string> TranslatableTextSelector
+ {
+ get
+ {
+ if (null == translatableTextSelector)
+ {
+ translatableTextSelector = new TriggerableSelector<string>(this, TranslatableTextProperty);
+ }
+ return translatableTextSelector;
+ }
+ }
+
+ private TriggerableSelector<string> _textSelector;
+ private TriggerableSelector<string> textSelector
+ {
+ get
+ {
+ if (null == _textSelector)
+ {
+ _textSelector = new TriggerableSelector<string>(this, TextProperty);
+ }
+ return _textSelector;
+ }
+ }
+
+ private TriggerableSelector<string> _fontFamilySelector;
+ private TriggerableSelector<string> fontFamilySelector
+ {
+ get
+ {
+ if (null == _fontFamilySelector)
+ {
+ _fontFamilySelector = new TriggerableSelector<string>(this, FontFamilyProperty);
+ }
+ return _fontFamilySelector;
+ }
+ }
+
+ private TriggerableSelector<Color> _textColorSelector;
+ private TriggerableSelector<Color> textColorSelector
+ {
+ get
+ {
+ if (null == _textColorSelector)
+ {
+ _textColorSelector = new TriggerableSelector<Color>(this, TextColorProperty);
+ }
+ return _textColorSelector;
+ }
+ }
+
+ private TriggerableSelector<float?> _pointSizeSelector;
+ private TriggerableSelector<float?> pointSizeSelector
+ {
+ get
+ {
+ if (null == _pointSizeSelector)
+ {
+ _pointSizeSelector = new TriggerableSelector<float?>(this, PointSizeProperty);
+ }
+ return _pointSizeSelector;
+ }
+ }
+
+ /// <summary>
/// Invoked whenever the binding context of the textlabel changes. Implement this method to add class handling for this event.
/// </summary>
protected override void OnBindingContextChanged()