Skip to main content

CustomArcScaleRangePresentation Class

Contains presentation settings that specify the range appearance.

Namespace: DevExpress.Xpf.Gauges

Assembly: DevExpress.Xpf.Gauges.v24.2.dll

NuGet Package: DevExpress.Wpf.Gauges

Declaration

public class CustomArcScaleRangePresentation :
    ArcScaleRangePresentation

Example

This example demonstrates how to define a custom range and range bar presentation.

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:GaugesDemoApp"
        xmlns:dxga="http://schemas.devexpress.com/winfx/2008/xaml/gauges" 
        x:Class="GaugesDemoApp.MainWindow"
        Title="MainWindow" Height="300" Width="300">
    <Grid>
        <dxga:CircularGaugeControl>
            <dxga:CircularGaugeControl.Scales>
                <dxga:ArcScale ShowMinorTickmarks="False" ShowLine="False" StartAngle="-180" EndAngle="0">
                    <dxga:ArcScale.Needles>
                        <dxga:ArcScaleNeedle/>
                    </dxga:ArcScale.Needles>
                    <dxga:ArcScale.Ranges>
                        <dxga:ArcScaleRange StartValue="0" EndValue="100">
                            <dxga:ArcScaleRange.Options>
                                <dxga:RangeOptions Thickness="40" Offset="-90"/>
                            </dxga:ArcScaleRange.Options>
                            <dxga:ArcScaleRange.Presentation>
                                <dxga:CustomArcScaleRangePresentation>
                                    <dxga:CustomArcScaleRangePresentation.RangeTemplate>
                                        <ControlTemplate>
                                            <Grid RenderTransformOrigin="0.5, 0.5">
                                                <Ellipse Fill="LightGray"/>
                                                <Ellipse Fill="White" Margin="5,25,40,25"/>
                                            </Grid>
                                        </ControlTemplate>
                                    </dxga:CustomArcScaleRangePresentation.RangeTemplate>
                                </dxga:CustomArcScaleRangePresentation>
                            </dxga:ArcScaleRange.Presentation>
                        </dxga:ArcScaleRange>
                    </dxga:ArcScale.Ranges>
                    <dxga:ArcScale.RangeBars>
                        <dxga:ArcScaleRangeBar Value="50" IsInteractive="True">
                            <dxga:ArcScaleRangeBar.Options>
                                <dxga:ArcScaleRangeBarOptions Thickness="40" Offset="-90"/>
                            </dxga:ArcScaleRangeBar.Options>
                            <dxga:ArcScaleRangeBar.Presentation>
                                <dxga:CustomArcScaleRangeBarPresentation>
                                    <dxga:CustomArcScaleRangeBarPresentation.RangeBarTemplate>
                                        <ControlTemplate>
                                            <Grid RenderTransformOrigin="0.5, 0.5">
                                                <Ellipse Fill="Lime"/>
                                                <Ellipse Fill="White" Margin="5,25,40,25"/>
                                            </Grid>
                                        </ControlTemplate>
                                    </dxga:CustomArcScaleRangeBarPresentation.RangeBarTemplate>
                                </dxga:CustomArcScaleRangeBarPresentation>
                            </dxga:ArcScaleRangeBar.Presentation>
                        </dxga:ArcScaleRangeBar>
                    </dxga:ArcScale.RangeBars>
                </dxga:ArcScale>
            </dxga:CircularGaugeControl.Scales>
        </dxga:CircularGaugeControl>
    </Grid>
</Window>

The image below illustrates the result.

See Also