CircularGaugeHitInfo Class
Contains information about a specific point within a circular gauge.
Namespace: DevExpress.Xpf.Gauges
Assembly: DevExpress.Xpf.Gauges.v22.2.dll
NuGet Package: DevExpress.Wpf.Gauges
Declaration
Related API Members
The following members return CircularGaugeHitInfo objects:
Remarks
The CircularGaugeHitInfo object can be created by calling the circular gauge’s CircularGaugeControl.CalcHitInfo method. This method requires the test point or its coordinates as a parameter.
The CircularGaugeHitInfo class properties can be grouped into two categories:
- The properties that indicate whether the test point resides over a particular view element. For instance, the CircularGaugeHitInfo.InScale property indicates whether the test point is over the scale;
- The properties identifying the topmost visual element containing the test point (e.g. CircularGaugeHitInfo.Scale).
Example
This example demonstrates how to show a tooltip with the current value of a needle on a circular gauge.
To do this, it is necessary to handle the MouseMove and MouseLeave events for the CircularGaugeControl object and obtain the current mouse position on a scale via the CircularGaugeControl.CalcHitInfo method. After that, if the mouse pointer hovers over the needle, it becomes possible to invoke the tooltip that displays the current needle’s value.
Note that this approach is applicable to only those gauge elements whose ValueIndicatorBase.IsHitTestVisible property is set to True (this is the default option). If the IsHitTestVisible property is set to False, this element is excluded from the hit-testing algorithm. To explore this behavior in action, mark and unmark the “Show tooltips for a needle” CheckEdit (whose check state is bound to the needle’s IsHitTestVisible property). So, the unmarked CheckEdit’s state means that tooltips are not displayed for a needle.
Imports Microsoft.VisualBasic
Imports System.Windows
Imports System.Windows.Controls.Primitives
Imports System.Windows.Input
Imports DevExpress.Xpf.Gauges
Namespace DXGauges_ShowTooltips
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub circularGaugeControl1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
Dim hitInfo As CircularGaugeHitInfo = circularGaugeControl1.CalcHitInfo(e.GetPosition(circularGaugeControl1))
If hitInfo.InNeedle Then
tooltip_text.Text = "Value: " & hitInfo.Needle.Value.ToString("n2")
tooltip.Placement = PlacementMode.Mouse
tooltip.IsOpen = True
Else
tooltip.IsOpen = False
End If
End Sub
Private Sub circularGaugeControl1_MouseLeave(ByVal sender As Object, ByVal e As MouseEventArgs)
tooltip.IsOpen = False
End Sub
End Class
End Namespace