// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) 2014 OxyPlot contributors // // // This is a Avalonia wrapper of OxyPlot.AreaSeries // // -------------------------------------------------------------------------------------------------------------------- using Avalonia; namespace OxyPlot.Avalonia { using global::Avalonia.Media; /// /// This is a Avalonia wrapper of OxyPlot.AreaSeries /// public class AreaSeries : LineSeries { /// /// Identifies the dependency property. /// public static readonly StyledProperty Color2Property = AvaloniaProperty.Register(nameof(Color2), MoreColors.Automatic); /// /// Identifies the dependency property. /// public static readonly StyledProperty ConstantY2Property = AvaloniaProperty.Register(nameof(ConstantY2), 0.0); /// /// Identifies the dependency property. /// public static readonly StyledProperty DataFieldX2Property = AvaloniaProperty.Register(nameof(DataFieldX2), null); /// /// Identifies the dependency property. /// public static readonly StyledProperty DataFieldY2Property = AvaloniaProperty.Register(nameof(DataFieldY2), null); /// /// Identifies the dependency property. /// public static readonly StyledProperty FillProperty = AvaloniaProperty.Register(nameof(Fill), MoreColors.Automatic); /// /// Identifies the dependency property. /// public static readonly StyledProperty Reverse2Property = AvaloniaProperty.Register(nameof(Reverse2), true); /// /// Initializes a new instance of the class. /// public AreaSeries() { InternalSeries = new OxyPlot.Series.AreaSeries(); } /// /// Gets or sets the color of the second line. /// public Color Color2 { get { return GetValue(Color2Property); } set { SetValue(Color2Property, value); } } /// /// Gets or sets ConstantY2. /// public double ConstantY2 { get { return GetValue(ConstantY2Property); } set { SetValue(ConstantY2Property, value); } } /// /// Gets or sets DataFieldX2. /// public string DataFieldX2 { get { return GetValue(DataFieldX2Property); } set { SetValue(DataFieldX2Property, value); } } /// /// Gets or sets DataFieldY2. /// public string DataFieldY2 { get { return GetValue(DataFieldY2Property); } set { SetValue(DataFieldY2Property, value); } } /// /// Gets or sets Fill. /// public Color Fill { get { return GetValue(FillProperty); } set { SetValue(FillProperty, value); } } /// /// Gets or sets a value indicating whether Reverse2. /// public bool Reverse2 { get { return GetValue(Reverse2Property); } set { SetValue(Reverse2Property, value); } } /// /// Creates the internal series. /// /// The internal series. public override OxyPlot.Series.Series CreateModel() { SynchronizeProperties(InternalSeries); return InternalSeries; } /// /// Synchronizes the properties. /// /// The series. protected override void SynchronizeProperties(OxyPlot.Series.Series series) { base.SynchronizeProperties(series); var s = (OxyPlot.Series.AreaSeries)series; s.Color2 = Color2.ToOxyColor(); s.DataFieldX2 = DataFieldX2; s.DataFieldY2 = DataFieldY2; s.ConstantY2 = ConstantY2; s.Fill = Fill.ToOxyColor(); s.Reverse2 = Reverse2; } static AreaSeries() { Color2Property.Changed.AddClassHandler(AppearanceChanged); ConstantY2Property.Changed.AddClassHandler(DataChanged); DataFieldX2Property.Changed.AddClassHandler(DataChanged); DataFieldY2Property.Changed.AddClassHandler(DataChanged); FillProperty.Changed.AddClassHandler(AppearanceChanged); Reverse2Property.Changed.AddClassHandler(AppearanceChanged); } } }