[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly BindableProperty TrackPaddingProperty = BindableProperty.Create(nameof(TrackPadding), typeof(Extents), typeof(SliderStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
{
- var instance = (SliderStyle)bindable;
- if (newValue != null)
- {
- if (null == instance.trackPadding) instance.trackPadding = new Extents(instance.OnTrackPaddingChanged, 0, 0, 0, 0);
- instance.trackPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
- }
+ ((SliderStyle)bindable).trackPadding = newValue == null ? null : new Extents((Extents)newValue);
},
defaultValueCreator: (bindable) =>
{
return instance.trackPadding;
});
- private IndicatorType? privateIndicatorType;
+ private IndicatorType? privateIndicatorType = Slider.IndicatorType.None;
private uint? privateTrackThickness;
private uint? privateSpaceBetweenTrackAndIndicator;
private Extents trackPadding;
/// <since_tizen> 8 </since_tizen>
public SliderStyle() : base()
{
- IndicatorType = Slider.IndicatorType.None;
- InitSubStyle();
}
/// <summary>
/// <since_tizen> 8 </since_tizen>
public SliderStyle(SliderStyle style) : base(style)
{
- if(style == null)
- {
- return;
- }
-
- InitSubStyle();
-
- this.CopyFrom(style);
-
- IndicatorType = style.IndicatorType;
}
/// <summary>
/// Get or set background track.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public ImageViewStyle Track { get; set; }
+ public ImageViewStyle Track { get; set; } = new ImageViewStyle();
/// <summary>
/// Get or set slided track.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public ImageViewStyle Progress { get; set; }
+ public ImageViewStyle Progress { get; set; } = new ImageViewStyle();
/// <summary>
/// Get or set thumb.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public ImageViewStyle Thumb { get; set; }
+ public ImageViewStyle Thumb { get; set; } = new ImageViewStyle();
/// <summary>
/// Get or set low indicator image.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public ImageViewStyle LowIndicatorImage { get; set; }
+ public ImageViewStyle LowIndicatorImage { get; set; } = new ImageViewStyle();
/// <summary>
/// Get or set high indicator image.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public ImageViewStyle HighIndicatorImage { get; set; }
+ public ImageViewStyle HighIndicatorImage { get; set; } = new ImageViewStyle();
/// <summary>
/// Get or set low indicator text.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public TextLabelStyle LowIndicator { get; set; }
+ public TextLabelStyle LowIndicator { get; set; } = new TextLabelStyle();
/// <summary>
/// Get or set high indicator text.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- public TextLabelStyle HighIndicator { get; set; }
+ public TextLabelStyle HighIndicator { get; set; } = new TextLabelStyle();
/// <summary>
/// Get or set Indicator type
/// <since_tizen> 8 </since_tizen>
public Extents TrackPadding
{
- get
- {
- Extents tmp = (Extents)GetValue(TrackPaddingProperty);
- return (null != tmp) ? tmp : trackPadding = new Extents(OnTrackPaddingChanged, 0, 0, 0, 0);
- }
+ get => ((Extents)GetValue(TrackPaddingProperty)) ?? (trackPadding = new Extents(0, 0, 0, 0));
set => SetValue(TrackPaddingProperty, value);
}
{
base.CopyFrom(bindableObject);
- SliderStyle sliderStyle = bindableObject as SliderStyle;
-
- if (null != sliderStyle)
+ if (bindableObject is SliderStyle sliderStyle)
{
- if (sliderStyle.Track != null)
- {
- Track?.CopyFrom(sliderStyle.Track);
- }
-
- if (sliderStyle.Progress != null)
- {
- Progress?.CopyFrom(sliderStyle.Progress);
- }
-
- if (sliderStyle.Thumb != null)
- {
- Thumb?.CopyFrom(sliderStyle.Thumb);
- }
-
- if (sliderStyle.LowIndicatorImage != null)
- {
- LowIndicatorImage?.CopyFrom(sliderStyle.LowIndicatorImage);
- }
-
- if (sliderStyle.HighIndicatorImage != null)
- {
- HighIndicatorImage?.CopyFrom(sliderStyle.HighIndicatorImage);
- }
-
- if (sliderStyle.LowIndicator != null)
- {
- LowIndicator?.CopyFrom(sliderStyle.LowIndicator);
- }
-
- if (sliderStyle.HighIndicator != null)
- {
- HighIndicator?.CopyFrom(sliderStyle.HighIndicator);
- }
-
- if (sliderStyle.TrackThickness != null)
- {
- TrackThickness = sliderStyle.TrackThickness;
- }
-
- if (sliderStyle.TrackPadding != null)
- {
- TrackPadding = sliderStyle.TrackPadding;
- }
+ Track.CopyFrom(sliderStyle.Track);
+ Progress.CopyFrom(sliderStyle.Progress);
+ Thumb.CopyFrom(sliderStyle.Thumb);
+ LowIndicatorImage.CopyFrom(sliderStyle.LowIndicatorImage);
+ HighIndicatorImage.CopyFrom(sliderStyle.HighIndicatorImage);
+ LowIndicator.CopyFrom(sliderStyle.LowIndicator);
+ HighIndicator.CopyFrom(sliderStyle.HighIndicator);
}
}
base.Dispose(type);
}
-
- private void InitSubStyle()
- {
- Track = new ImageViewStyle();
- Progress = new ImageViewStyle();
- Thumb = new ImageViewStyle();
- LowIndicatorImage = new ImageViewStyle();
- HighIndicatorImage = new ImageViewStyle();
- LowIndicator = new TextLabelStyle();
- HighIndicator = new TextLabelStyle();
- }
-
- private void OnTrackPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
- {
- TrackPadding = new Extents(start, end, top, bottom);
- }
}
}