wpf-devexpress-dot-xpf-dot-charts-c3db8c8c.md
If implemented by a class, provides a method required for a chart control to format axis labels.
Namespace : DevExpress.Xpf.Charts
Assembly : DevExpress.Xpf.Charts.v25.2.dll
NuGet Package : DevExpress.Wpf.Charts
public interface IAxisLabelFormatter :
IAxisLabelFormatterCore
Public Interface IAxisLabelFormatter
Inherits IAxisLabelFormatterCore
The following members return IAxisLabelFormatter objects:
Perform the steps below to create a formatter:
IAxisLabelFormatter interface and uses the interface’s GetAxisLabelText method.This example applies a custom format to the numeric axis’s labels.
A formatter applies to axis labels:
A formatter does not apply to axis labels:
Markup:
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D>
<dxc:AxisX2D.Label>
<dxc:AxisLabel>
<dxc:AxisLabel.Formatter>
<local:AxisLabelFormatter/>
</dxc:AxisLabel.Formatter>
</dxc:AxisLabel>
</dxc:AxisX2D.Label>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
<dxc:XYDiagram2D.AxisY>
<dxc:AxisY2D>
<dxc:AxisLabel>
<dxc:AxisLabel.Formatter>
<local:AxisLabelFormatter/>
</dxc:AxisLabel.Formatter>
</dxc:AxisLabel>
</dxc:AxisY2D.Label>
</dxc:AxisY2D>
</dxc:XYDiagram2D.AxisY>
Code-Behind:
public class AxisLabelFormatter : IAxisLabelFormatter {
public string GetAxisLabelText(object axisValue) {
return Convert.ToString((double)axisValue / 1000);
}
}
Public Class AxisLabelFormatter
Implements IAxisLabelFormatter
Public Function GetAxisLabelText(ByVal axisValue As Object) As String
Return Convert.ToString(CDbl(axisValue) / 1000)
End Function
End Class
This example formats date-time axis labels as follows:
A formatter applies to axis labels:
A formatter does not apply to axis labels:
Markup:
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D>
<dxc:AxisX2D.DateTimeScaleOptions>
<dxc:ManualDateTimeScaleOptions AutoGrid="False"
GridAlignment="Day"
GridSpacing="7"/>
</dxc:AxisX2D.DateTimeScaleOptions>
<dxc:AxisX2D.Label>
<dxc:AxisLabel>
<dxc:Axis2D.ResolveOverlappingOptions>
<dxc:AxisLabelResolveOverlappingOptions AllowHide="False"/>
</dxc:Axis2D.ResolveOverlappingOptions>
<dxc:AxisLabel.Formatter>
<local:AxisLabelFormatter/>
</dxc:AxisLabel.Formatter>
</dxc:AxisLabel>
</dxc:AxisX2D.Label>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
Code-Behind:
public class AxisLabelFormatter : IAxisLabelFormatter {
public string GetAxisLabelText(object axisValue) {
DateTime value = (DateTime)axisValue;
return ((value.Day >= 1) && (value.Day <= 7)) ? $"{value.ToString("MMM, d")}" : $"{value.Day}";
}
}
Public Class AxisLabelFormatter
Implements IAxisLabelFormatter
Public Function GetAxisLabelText(ByVal axisValue As Object) As String
Dim value As DateTime = CType(axisValue, DateTime)
Return If(((value.Day >= 1) AndAlso (value.Day <= 7)), $"{value.ToString("MMM, d")}", $"{value.Day}")
End Function
End Class
See Also