// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) 2014 OxyPlot contributors // // // This is a Avalonia wrapper of OxyPlot.LinearAxis. // // -------------------------------------------------------------------------------------------------------------------- using Avalonia; namespace OxyPlot.Avalonia { /// /// This is a Avalonia wrapper of OxyPlot.LinearAxis. /// public class LinearAxis : Axis { /// /// Identifies the dependency property. /// public static readonly StyledProperty FormatAsFractionsProperty = AvaloniaProperty.Register(nameof(FormatAsFractions), false); /// /// Identifies the dependency property. /// public static readonly StyledProperty FractionUnitProperty = AvaloniaProperty.Register(nameof(FractionUnit), 1.0); /// /// Identifies the dependency property. /// public static readonly StyledProperty FractionUnitSymbolProperty = AvaloniaProperty.Register(nameof(FractionUnitSymbol)); /// /// Initializes a new instance of the class. /// public LinearAxis() { InternalAxis = new Axes.LinearAxis(); } /// /// Gets or sets a value indicating whether FormatAsFractions. /// public bool FormatAsFractions { get { return GetValue(FormatAsFractionsProperty); } set { SetValue(FormatAsFractionsProperty, value); } } /// /// Gets or sets FractionUnit. /// public double FractionUnit { get { return GetValue(FractionUnitProperty); } set { SetValue(FractionUnitProperty, value); } } /// /// Gets or sets FractionUnitSymbol. /// public string FractionUnitSymbol { get { return GetValue(FractionUnitSymbolProperty); } set { SetValue(FractionUnitSymbolProperty, value); } } /// /// Creates the internal axis. /// /// The internal axis. public override Axes.Axis CreateModel() { SynchronizeProperties(); return InternalAxis; } /// /// Synchronizes the properties. /// protected override void SynchronizeProperties() { base.SynchronizeProperties(); var a = (Axes.LinearAxis)InternalAxis; a.FormatAsFractions = FormatAsFractions; a.FractionUnit = FractionUnit; a.FractionUnitSymbol = FractionUnitSymbol; } } }