IndicatorEnterLeaveEventArgs Class

A base class for classes that provide data for RangeBase.IndicatorEnter and RangeBase.IndicatorLeave events.

Namespace: DevExpress.Xpf.Gauges

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

Declaration

[NonCategorized]
public class IndicatorEnterLeaveEventArgs :
    ValueChangedEventArgs
<NonCategorized>
Public Class IndicatorEnterLeaveEventArgs
    Inherits ValueChangedEventArgs

Remarks

In addition to all properties derived from the ValueChangedEventArgs class, the IndicatorEnterLeaveEventArgs class introduces the IndicatorEnterLeaveEventArgs.Indicator property, which returns an instance of an indicator, for which either the RangeBase.IndicatorEnter or RangeBase.IndicatorLeave event has been raised.

An instance of the IndicatorEnterLeaveEventArgs class with appropriate settings is automatically created and passed to the corresponding event's handler.

Examples

In some cases, you need to know whether the current value of an indicator is within a particular range. This example shows how to create a state indicator that changes its color depending on the current range.

First, the Circular gauge is created with three ranges and two empty sections. By default, the gauge's needle doesn't belong to any range, so the state indicator is painted as a gray ellipse.

To solve this task it's necessary to handle the RangeBase.IndicatorEnter and RangeBase.IndicatorLeave events in the following way:

- if a needle 'enters' a range, it is painted with the range color;

- if a needle 'leaves' a range, it is painted in gray.

NOTE

In this example we set the ValueIndicatorBase.IsInteractive property to True, so that you can click on a gauge and manually change the current needle value.

View Example

Imports Microsoft.VisualBasic
Imports System.Windows
Imports System.Windows.Media
Imports DevExpress.Xpf.Gauges

Namespace DXGauges_RangeEvents

    Partial Public Class MainWindow
        Inherits Window
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub GreenRange_IndicatorEnter(ByVal sender As Object, ByVal e As IndicatorEnterEventArgs)
            stateIndicator.Fill = New SolidColorBrush(Colors.Green)
        End Sub

        Private Sub GreenRange_IndicatorLeave(ByVal sender As Object, ByVal e As IndicatorLeaveEventArgs)
            stateIndicator.Fill = New SolidColorBrush(Colors.Gray)
        End Sub

        Private Sub YellowRange_IndicatorEnter(ByVal sender As Object, ByVal e As IndicatorEnterEventArgs)
            stateIndicator.Fill = New SolidColorBrush(Colors.Yellow)
        End Sub

        Private Sub YellowRange_IndicatorLeave(ByVal sender As Object, ByVal e As IndicatorLeaveEventArgs)
            If ((e.NewValue) < 10) OrElse (((e.NewValue) > 90)) Then
                stateIndicator.Fill = New SolidColorBrush(Colors.Gray)
            End If
        End Sub

        Private Sub RedRange_IndicatorEnter(ByVal sender As Object, ByVal e As IndicatorEnterEventArgs)
            stateIndicator.Fill = New SolidColorBrush(Colors.Red)
        End Sub

        Private Sub RedRange_IndicatorLeave(ByVal sender As Object, ByVal e As IndicatorLeaveEventArgs)
            If ((e.NewValue) < 10) OrElse (((e.NewValue) > 90)) Then
                stateIndicator.Fill = New SolidColorBrush(Colors.Gray)
            End If
        End Sub
    End Class
End Namespace
See Also