+ internal static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.translatableTextSelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.translatableTextSelector;
+ });
+ internal static readonly BindableProperty TranslatablePlaceholderTextSelectorProperty = BindableProperty.Create("TranslatablePlaceholderTextSelector", typeof(Selector<string>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.translatablePlaceholderTextSelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.translatablePlaceholderTextSelector;
+ });
+ internal static readonly BindableProperty TextSelectorProperty = BindableProperty.Create("TextSelector", typeof(Selector<string>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.textSelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.textSelector;
+ });
+ internal static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create("FontFamilySelector", typeof(Selector<string>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.fontFamilySelector.Clone((Selector<string>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.fontFamilySelector;
+ });
+ internal static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create("PointSizeSelector", typeof(Selector<float?>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.pointSizeSelector.Clone((Selector<float?>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.pointSizeSelector;
+ });
+ internal static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create("TextColorSelector", typeof(Selector<Color>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.textColorSelector.Clone((Selector<Color>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.textColorSelector;
+ });
+ internal static readonly BindableProperty PlaceholderTextColorSelectorProperty = BindableProperty.Create("PlaceholderTextColorSelector", typeof(Selector<Color>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.placeholderTextColorSelector.Clone((Selector<Color>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.placeholderTextColorSelector;
+ });
+ internal static readonly BindableProperty PrimaryCursorColorSelectorProperty = BindableProperty.Create("PrimaryCursorColorSelector", typeof(Selector<Color>), typeof(TextField), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ textField.primaryCursorColorSelector.Clone((Selector<Color>)newValue);
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textField = (TextField)bindable;
+ return textField.primaryCursorColorSelector;
+ });
+
+ private TriggerableSelector<string> _translatableTextSelector;
+ private TriggerableSelector<string> translatableTextSelector
+ {
+ get
+ {
+ if (null == _translatableTextSelector)
+ {
+ _translatableTextSelector = new TriggerableSelector<string>(this, TranslatableTextProperty);
+ }
+ return _translatableTextSelector;
+ }
+ }
+
+ private TriggerableSelector<string> _translatablePlaceholderTextSelector;
+ private TriggerableSelector<string> translatablePlaceholderTextSelector
+ {
+ get
+ {
+ if (null == _translatablePlaceholderTextSelector)
+ {
+ _translatablePlaceholderTextSelector = new TriggerableSelector<string>(this, TranslatablePlaceholderTextProperty);
+ }
+ return _translatablePlaceholderTextSelector;
+ }
+ }
+
+ 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;
+ }
+ }
+
+ private TriggerableSelector<Color> _placeholderTextColorSelector;
+ private TriggerableSelector<Color> placeholderTextColorSelector
+ {
+ get
+ {
+ if (null == _placeholderTextColorSelector)
+ {
+ _placeholderTextColorSelector = new TriggerableSelector<Color>(this, PlaceholderTextColorProperty);
+ }
+ return _placeholderTextColorSelector;
+ }
+ }
+
+ private TriggerableSelector<Color> _primaryCursorColorSelector;
+ private TriggerableSelector<Color> primaryCursorColorSelector
+ {
+ get
+ {
+ if (null == _primaryCursorColorSelector)
+ {
+ _primaryCursorColorSelector = new TriggerableSelector<Color>(this, PrimaryCursorColorProperty);
+ }
+ return _primaryCursorColorSelector;
+ }
+ }
+