Class SfLinearGauge
Creates a linear gauge control to displays the values on a linear scale horizontally or vertically. It has a rich set of features such as axis, ranges, and pointers that are fully customizable and extendable.
Inheritance
Implements
Namespace: Syncfusion.Maui.Gauges
Assembly: Syncfusion.Maui.Gauges.dll
Syntax
public class SfLinearGauge : View, IContentView, IView, IElement, ITransform, IPadding, ICrossPlatformLayout, IVisualTreeElement, ITouchListener, IParentThemeElement, IThemeElement
Examples
<gauge:SfLinearGauge >
<gauge:SfLinearGauge.Ranges>
<gauge:LinearRange/>
</gauge:SfLinearGauge.Ranges>
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Value="70" />
<gauge:LinearContentPointer Value="80" >
<gauge:LinearContentPointer.Content>
<Grid WidthRequest="30" HeightRequest="25">
<RoundRectangle Stroke="Black"
StrokeThickness="2"
CornerRadius="5"/>
<Label Text = "70" TextColor="Black" HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</gauge:LinearContentPointer.Content>
</gauge:LinearContentPointer>
</gauge:SfLinearGauge.MarkerPointers>
<gauge:SfLinearGauge.BarPointers>
<gauge:BarPointer Value="60" />
</gauge:SfLinearGauge.BarPointers>
</gauge:SfLinearGauge>
Constructors
SfLinearGauge()
Initializes a new instance of the SfLinearGauge class.
Declaration
public SfLinearGauge()
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.Ranges>
<gauge:LinearRange/>
</gauge:SfLinearGauge.Ranges>
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Value="70" />
<gauge:LinearContentPointer Value="80" >
<gauge:LinearContentPointer.Content>
<Grid WidthRequest="30" HeightRequest="25">
<RoundRectangle Stroke="Black"
StrokeThickness="2"
CornerRadius="5"/>
<Label Text="70" TextColor="Black" HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
</gauge:LinearContentPointer.Content>
</gauge:LinearContentPointer>
</gauge:SfLinearGauge.MarkerPointers>
<gauge:SfLinearGauge.BarPointers>
<gauge:BarPointer Value="60" />
</gauge:SfLinearGauge.BarPointers>
</gauge:SfLinearGauge>
Fields
AnimationDurationProperty
Identifies the AnimationDuration bindable property.
Declaration
public static readonly BindableProperty AnimationDurationProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for AnimationDuration bindable property. |
BarPointersProperty
Identifies the BarPointers bindable property.
Declaration
public static readonly BindableProperty BarPointersProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for BarPointers bindable property. |
EnableAxisAnimationProperty
Identifies the EnableAxisAnimation bindable property.
Declaration
public static readonly BindableProperty EnableAxisAnimationProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for EnableAxisAnimation bindable property. |
EnableRangeAnimationProperty
Identifies the EnableRangeAnimation bindable property.
Declaration
public static readonly BindableProperty EnableRangeAnimationProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for EnableRangeAnimation bindable property. |
IntervalProperty
Identifies the Interval bindable property.
Declaration
public static readonly BindableProperty IntervalProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for Interval bindable property. |
IsInversedProperty
Identifies the IsInversed bindable property.
Declaration
public static readonly BindableProperty IsInversedProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for IsInversed bindable property. |
IsMirroredProperty
Identifies the IsMirrored bindable property.
Declaration
public static readonly BindableProperty IsMirroredProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for IsMirrored bindable property. |
LabelFormatProperty
Identifies the LabelFormat bindable property.
Declaration
public static readonly BindableProperty LabelFormatProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for LabelFormat bindable property. |
LabelOffsetProperty
Identifies the LabelOffset bindable property.
Declaration
public static readonly BindableProperty LabelOffsetProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for LabelOffset bindable property. |
LabelPositionProperty
Identifies the LabelPosition bindable property.
Declaration
public static readonly BindableProperty LabelPositionProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for LabelPosition bindable property. |
LabelStyleProperty
Identifies the LabelStyle bindable property.
Declaration
public static readonly BindableProperty LabelStyleProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for LabelStyle bindable property. |
LineStyleProperty
Identifies the LineStyle bindable property.
Declaration
public static readonly BindableProperty LineStyleProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for LineStyle bindable property. |
MajorTickStyleProperty
Identifies the MajorTickStyle bindable property.
Declaration
public static readonly BindableProperty MajorTickStyleProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for MajorTickStyle bindable property. |
MarkerPointersProperty
Identifies the MarkerPointers bindable property.
Declaration
public static readonly BindableProperty MarkerPointersProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for MarkerPointers bindable property. |
MaximumLabelsCountProperty
Identifies the MaximumLabelsCount bindable property.
Declaration
public static readonly BindableProperty MaximumLabelsCountProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for MaximumLabelsCount bindable property. |
MaximumProperty
Identifies the Maximum bindable property.
Declaration
public static readonly BindableProperty MaximumProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for Maximum bindable property. |
MinimumProperty
Identifies the Minimum bindable property.
Declaration
public static readonly BindableProperty MinimumProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for Minimum bindable property. |
MinorTicksPerIntervalProperty
Identifies the MinorTicksPerInterval bindable property.
Declaration
public static readonly BindableProperty MinorTicksPerIntervalProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for MinorTicksPerInterval bindable property. |
MinorTickStyleProperty
Identifies the MinorTickStyle bindable property.
Declaration
public static readonly BindableProperty MinorTickStyleProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for MinorTickStyle bindable property. |
OrientationProperty
Identifies the Orientation bindable property.
Declaration
public static readonly BindableProperty OrientationProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for Orientation bindable property. |
RangesProperty
Identifies the Ranges bindable property.
Declaration
public static readonly BindableProperty RangesProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for Ranges bindable property. |
ShowLabelsProperty
Identifies the ShowLabels bindable property.
Declaration
public static readonly BindableProperty ShowLabelsProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for ShowLabels bindable property. |
ShowLineProperty
Identifies the ShowLine bindable property.
Declaration
public static readonly BindableProperty ShowLineProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for ShowLine bindable property. |
ShowTicksProperty
Identifies the ShowTicks bindable property.
Declaration
public static readonly BindableProperty ShowTicksProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for ShowTicks bindable property. |
TickOffsetProperty
Identifies the TickOffset bindable property.
Declaration
public static readonly BindableProperty TickOffsetProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for TickOffset bindable property. |
TickPositionProperty
Identifies the TickPosition bindable property.
Declaration
public static readonly BindableProperty TickPositionProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for TickPosition bindable property. |
UseRangeColorForAxisProperty
Identifies the UseRangeColorForAxis bindable property.
Declaration
public static readonly BindableProperty UseRangeColorForAxisProperty
Field Value
| Type | Description |
|---|---|
| Microsoft.Maui.Controls.BindableProperty | The identifier for UseRangeColorForAxis bindable property. |
Properties
AnimationDuration
Gets or sets a value that specifies the load time animation duration in milliseconds.
Declaration
public double AnimationDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | The default value is |
Remarks
It specifies how long the loading time animation will take.
Examples
<gauge:SfLinearGauge EnableAxisAnimation="true" AnimationDuration="2000">
</gauge:SfLinearGauge>
BarPointers
Gets or sets the BarPointer collection to the linear gauge.
Declaration
public ObservableCollection<BarPointer> BarPointers { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Collections.ObjectModel.ObservableCollection<BarPointer> | Customizes each pointer by adding it to the BarPointers collection. The default value is empty collection. |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.BarPointers>
<gauge:BarPointer Value="50" Position="Outside" Fill="Red" />
</gauge:SfLinearGauge.BarPointers>
</gauge:SfLinearGauge>
EnableAxisAnimation
Gets or sets a value indicating whether to animate the axis elements such as axis line, ticks, and labels on load time.
Declaration
public bool EnableAxisAnimation { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is false. |
Examples
<gauge:SfLinearGauge EnableAxisAnimation="true">
</gauge:SfLinearGauge>
EnableRangeAnimation
Gets or sets a value indicating whether to animate linear range on load time.
Declaration
public bool EnableRangeAnimation { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is false. |
Examples
<gauge:SfLinearGauge EnableAxisAnimation="True"
EnableRangeAnimation="True">
<gauge:SfLinearGauge.Ranges>
<gauge:LinearRange/>
</gauge:SfLinearGauge.Ranges>
</gauge:SfLinearGauge>
Interval
Gets or sets the interval value of the axis. Using this, the axis labels and major ticks can be displayed after a certain interval value.
Declaration
public double Interval { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | It defines the interval of the SfLinearGauge. The default value is |
Examples
<gauge:SfLinearGauge Interval="50">
</gauge:SfLinearGauge>
IsInversed
Gets or sets a value indicating whether inverts the axis from right to left for a horizontal linear gauge or top to bottom for a vertical linear gauge.
Declaration
public bool IsInversed { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | true if axis is inversed; otherwise, false.The default value is false. |
Remarks
IsInversed decides whether the axis will be inversed or not.
Examples
<gauge:SfLinearGauge IsInversed="true">
</gauge:SfLinearGauge>
IsMirrored
Gets or sets a value indicating whether to mirror the linear gauge.
Declaration
public bool IsMirrored { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | true if scale is mirrored; otherwise, false.The default value is false. |
Remarks
IsMirrored decides whether the linear gauge elements will be rendered in the opposite direction.
Examples
<gauge:SfLinearGauge IsMirrored="true">
</gauge:SfLinearGauge>
LabelFormat
Gets or sets a value to formats the scale labels with globalized string formats.
Declaration
public string LabelFormat { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String | The string that specifies the globalized string formats for the scale labels. Its default value is |
Examples
<gauge:SfLinearGauge LabelFormat="c">
</gauge:SfLinearGauge>
LabelOffset
Gets or sets a value to adjusts the axis label position from tick end to the custom position. Specify values in the logical pixel.
Declaration
public double LabelOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | It defines the offset of the axis labels. The default value is |
Examples
<gauge:SfLinearGauge LabelOffset="10">
</gauge:SfLinearGauge>
LabelPosition
Gets or sets the value that indicates the position of the scale labels inside or outside the axis line.
Declaration
public GaugeLabelsPosition LabelPosition { get; set; }
Property Value
| Type | Description |
|---|---|
| GaugeLabelsPosition | One of the enumeration values that specifies the position of labels in the linear gauge. The registered default vlaue is Inside. |
Examples
<gauge:SfLinearGauge LabelPosition="Outside">
</gauge:SfLinearGauge>
LabelStyle
Gets or sets a value to customize the style of default axis labels.
Declaration
public GaugeLabelStyle LabelStyle { get; set; }
Property Value
| Type |
|---|
| GaugeLabelStyle |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.LabelStyle>
<gauge:GaugeLabelStyle TextColor="Red"/>
</gauge:SfLinearGauge.LabelStyle>
</gauge:SfLinearGauge>
LineStyle
Gets or sets a value to customize the style of default axis line.
Declaration
public LinearLineStyle LineStyle { get; set; }
Property Value
| Type |
|---|
| LinearLineStyle |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.LineStyle>
<gauge:LinearLineStyle Thickness="15" />
</gauge:SfLinearGauge.LineStyle>
</gauge:SfLinearGauge>
MajorTickStyle
Gets or sets a value to customize the style of default major ticks.
Declaration
public LinearTickStyle MajorTickStyle { get; set; }
Property Value
| Type |
|---|
| LinearTickStyle |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.MajorTickStyle>
<gauge:LinearTickStyle Stroke="Red"/>
</gauge:SfLinearGauge.MajorTickStyle>
</gauge:SfLinearGauge>
MarkerPointers
Gets or sets the marker pointers collection to the linear gauge.
Declaration
public ObservableCollection<LinearMarkerPointer> MarkerPointers { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Collections.ObjectModel.ObservableCollection<LinearMarkerPointer> | Customizes each pointer by adding it to the MarkerPointers collection. The default value is empty collection. |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Position="Outside"
Value="70" Alignment="Start"/>
</gauge:SfLinearGauge.MarkerPointers>
</gauge:SfLinearGauge>
Maximum
Gets or sets the maximum value of the axis. The axis ends at this value.
Declaration
public double Maximum { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | It defines the maximum value of the SfLinearGauge. The default value is |
Examples
<gauge:SfLinearGauge Maximum="200">
</gauge:SfLinearGauge>
MaximumLabelsCount
Gets or sets the maximum number of labels to be displayed in 100 logical pixels.
Declaration
public int MaximumLabelsCount { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | Maximum number of labels to be displayed in a axis in 100 logical pixels. Its default value is |
Examples
<gauge:SfLinearGauge MaximumLabelsCount="5">
</gauge:SfLinearGauge>
Minimum
Gets or sets the minimum value of the axis. The axis starts from this value.
Declaration
public double Minimum { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | It defines the minimum values of the SfLinearGauge. The default value is |
Examples
<gauge:SfLinearGauge Minimum="10">
</gauge:SfLinearGauge>
MinorTicksPerInterval
Gets or sets the minor ticks count per interval in an axis..
Declaration
public int MinorTicksPerInterval { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | It defines the number of minor ticks will be rendered between the major ticks. The default value is |
Examples
<gauge:SfLinearGauge MinorTicksPerInterval="5">
</gauge:SfLinearGauge>
MinorTickStyle
Gets or sets a value to customize the style of default minor ticks.
Declaration
public LinearTickStyle MinorTickStyle { get; set; }
Property Value
| Type |
|---|
| LinearTickStyle |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.MinorTickStyle>
<gauge:LinearTickStyle Stroke="Red"/>
</gauge:SfLinearGauge.MinorTickStyle>
</gauge:SfLinearGauge>
Orientation
Gets or sets a value that indicates whether to show the linear gauge horizontally or vertically.
Declaration
public GaugeOrientation Orientation { get; set; }
Property Value
| Type | Description |
|---|---|
| GaugeOrientation | Orientation of the linear gauge. The default is |
Remarks
Orientation decides whether the linear gauge will be rendered in horizontal or vertical direction.
Examples
<gauge:SfLinearGauge Orientation="Vertical">
</gauge:SfLinearGauge>
Ranges
Gets or sets the LinearRange collection to the linear gauge.
Declaration
public ObservableCollection<LinearRange> Ranges { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Collections.ObjectModel.ObservableCollection<LinearRange> | Customizes each range by adding it to the ranges collection. The default value is empty collection. |
Examples
<gauge:SfLinearGauge>
<gauge:SfLinearGauge.Ranges>
<gauge:LinearRange/>
</gauge:SfLinearGauge.Ranges>
</gauge:SfLinearGauge>
ShowLabels
Gets or sets a value indicating whether to show or hide the axis labels.
Declaration
public bool ShowLabels { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | true if axis labels are displayed; otherwise, false.The default value is true. |
Remarks
It decides whether the axis labels will be rendered or not.
If ShowLabels is true, the axis labels will be rendered, otherwise not rendered.
Examples
<gauge:SfLinearGauge ShowLabels="false">
</gauge:SfLinearGauge>
ShowLine
Gets or sets a value indicating whether to show or hide the axis line.
Declaration
public bool ShowLine { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | true if axis line is displayed; otherwise, false.The default value is true. |
Remarks
It decides whether the axis line will be rendered or not.
If ShowLine is true, the axis line will be rendered, otherwise not rendered.
Examples
<gauge:SfLinearGauge ShowLine="false">
</gauge:SfLinearGauge>
ShowTicks
Gets or sets a value indicating whether to show or hide the axis ticks.
Declaration
public bool ShowTicks { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | true if axis ticks lines are displayed; otherwise, false.The default value is true. |
Remarks
It decides whether the axis ticks will be rendered or not.
If ShowTicks is true, the scale ticks will be rendered, otherwise not rendered.
Examples
<gauge:SfLinearGauge ShowTicks="false">
</gauge:SfLinearGauge>
TickOffset
Gets or sets the value to adjusts the scale ticks position from the scale line to the custom position. Specify values in the logical pixels.
Declaration
public double TickOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double | It defines the offset of the ticks. The default value is |
Examples
<gauge:SfLinearGauge TickOffset="10">
</gauge:SfLinearGauge>
TickPosition
Gets or sets the value that indicates the position of the ticks inside, or center, or outside the axis line.
Declaration
public GaugeElementPosition TickPosition { get; set; }
Property Value
| Type | Description |
|---|---|
| GaugeElementPosition | One of the enumeration values that specifies the position of ticks in the linear gauge. The default is Inside. |
Examples
<gauge:SfLinearGauge TickPosition="Outside">
</gauge:SfLinearGauge>
UseRangeColorForAxis
Gets or sets a value indicating whether to use the range color for axis elements such as labels and ticks.
Declaration
public bool UseRangeColorForAxis { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is false. |
Remarks
It decides whether the corresponding range color will be applied to the axis elements like labels and ticks or not.
If UseRangeColorForAxis is true, the corresponding range colors will be applied, otherwise not.
Examples
<gauge:SfLinearGauge UseRangeColorForAxis="true">
<gauge:SfLinearGauge.Ranges>
<gauge:LinearRange StartValue="0" EndValue="50"/>
</gauge:SfLinearGauge.Ranges>
</gauge:SfLinearGauge>
Methods
FactorToValue(Double)
Converts factor to axis value.
Declaration
public virtual double FactorToValue(double factor)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | factor | The factor to convert as axis value. |
Returns
| Type | Description |
|---|---|
| System.Double | Axis value of the provided factor. |
Examples
<local:LinearGauge Minimum="1" Maximum="10000">
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Value="1000" />
</gauge:SfLinearGauge.MarkerPointers>
</local:LinearGauge>
GenerateVisibleLabels()
Calculates the visible labels based on scale interval and range.
Declaration
public virtual List<GaugeLabelInfo> GenerateVisibleLabels()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<GaugeLabelInfo> | The visible label collection. |
Examples
<local:LinearGauge Minimum="1" Maximum="10000">
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Value="1000" />
</gauge:SfLinearGauge.MarkerPointers>
</local:LinearGauge>
OnBindingContextChanged()
Invoked whenever the binding context of the View changes.
Declaration
protected override void OnBindingContextChanged()
ValueToFactor(Double)
Converts scale value to linear factor value.
Declaration
public virtual double ValueToFactor(double value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Double | value | The scale value to convert as factor. |
Returns
| Type | Description |
|---|---|
| System.Double | Linear factor of the provided value. |
Examples
<local:LinearGauge Minimum="1" Maximum="10000">
<gauge:SfLinearGauge.MarkerPointers>
<gauge:LinearShapePointer Value="1000" />
</gauge:SfLinearGauge.MarkerPointers>
</local:LinearGauge>
Events
LabelCreated
Called when an axis label is created
Declaration
public event EventHandler<LabelCreatedEventArgs> LabelCreated
Event Type
| Type |
|---|
| System.EventHandler<LabelCreatedEventArgs> |