To reproduce:
- Add line series with large point size and null points.
- Hover a near a point which is close to null point (the line break).
Workaround:
public class MyChartTooltipController : ChartTooltipController
{
protected override ActionResult OnMouseMove(MouseEventArgs e)
{
for (int i = 0; i < this.Area.Series.Count; i++)
{
DataPoint point = this.Area.Series[i].HitTest(e.X, e.Y);
DataPoint hoveredPoint = typeof(ChartTooltipController).GetField("hoveredPoint", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(this) as DataPoint;
ToolTip toolTip = typeof(ChartTooltipController).GetField("toolTip", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(this) as ToolTip;
if (point != null && hoveredPoint != point)
{
hoveredPoint = point;
var result = typeof(CategoricalDataPoint).GetMethod("GetTooltipValue", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(hoveredPoint, null);
if (result == null)
{
return new ChartRefreshResult();
}
}
}
return base.OnMouseMove(e);
}
}