Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.
How to: Determine which Chart Element is Hovered by the Mouse Pointer
3 minutes to read
This example demonstrates how to calculate the hit information for the chart element over which the mouse pointer is hovering.
To accomplish this, handle the ChartControl.MouseMove event, obtain the current chart element via the ChartControl.CalcHitInfo method, and if the element is not null (Nothing in Visual Basic), display its information.
usingSystem.Windows;
usingSystem.Windows.Input;
usingDevExpress.Xpf.Charts;
usingSystem.Text;
namespaceDetermineHoveredChartElement
{
publicpartialclassMainWindow : Window
{
publicMainWindow()
{
InitializeComponent();
}
privatevoidchartControl1_MouseMove(object sender, MouseEventArgs e)
{
// Obtain hit information under the test point.
ChartHitInfo hitInfo = chartControl1.CalcHitInfo(e.GetPosition(chartControl1));
StringBuilder builder = new StringBuilder();
// Check whether the chart element is under the test point and if so - obtain the element's content.if (hitInfo.InDiagram)
builder.AppendLine("In diagram");
if (hitInfo.InAxis)
builder.AppendLine("In axis:" + hitInfo.Axis.Name);
if (hitInfo.AxisLabel != null)
builder.AppendLine("Axis Label:\n" + hitInfo.AxisLabel.Name);
if (hitInfo.AxisTitle != null)
builder.AppendLine("Axis title:\n" + hitInfo.AxisTitle.Content);
if (hitInfo.InTitle)
builder.AppendLine("In chart title:\n " + hitInfo.Title.Content);
if (hitInfo.InLegend)
builder.AppendLine("In legend");
if (hitInfo.InSeries)
builder.AppendLine("In series: " + hitInfo.Series.Name);
if (hitInfo.InSeriesLabel)
{
builder.AppendLine("In series label");
builder.AppendLine("Series Label:" + hitInfo.SeriesLabel.Name);
}
if (hitInfo.InSeriesPoint)
{
builder.AppendLine("Argument: " + hitInfo.SeriesPoint.Argument);
builder.AppendLine("Value: " + hitInfo.SeriesPoint.Value);
}
// Show hit-testing results if (builder.Length > 0)
text1.Content = string.Format("Hit-testing results:\n" + builder.ToString());
else
text1.Content = "Move the mouse\n pointer over\n the chart to see\n information on\n hovered chart\n elements.";
}
}
}