// --------------------------------------------------------------------------------------------------------------------
//
// 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;
}
}
}