在.NET C#折线图中,对于每个空点标记,我想在用户将鼠标悬停在标记上时显示弹出窗口。
将简单字符串添加为工具提示似乎很简单,但我需要为每个空点标记创建一个小弹出框,其中包含几行信息和图像。
我会感谢任何建议!
答案 0 :(得分:2)
MsCharts在图表上生成地图叠加层(一组地图区域),您可以自定义该地图叠加层以获取自定义悬停事件。
图表公开了您可以订阅的CustomizeMapAreas
事件,如下所示:
protected void BindMapAreaEventHandlers()
{
this.CustomizeMapAreas += new EventHandler<CustomizeMapAreasEventArgs>(CustomizeMapAreasHandler);
}
private void CustomizeMapAreasHandler(object sender, CustomizeMapAreasEventArgs e)
{
}
现在在图表初始化期间调用BindMapAreaEventHandlers()
函数,并将显示弹出窗口的逻辑悬停在CustomizeMapAreasHandler
中,您可以在其中迭代为图表生成的所有地图项。< / p>
private void CustomizeMapAreasHandler(object sender, CustomizeMapAreasEventArgs e)
{
foreach (MapArea item in e.MapAreaItems)
{
// any custom logic to change onHover for MapArea.
}
}
为了正确生成所有地图区域,我建议在向图表添加系列时为所有系列设置非空工具提示,然后在CustomizeMapAreasHandler中将它们更改回null。这个简单的技巧告诉MsCharts,所有系列的地图区域都很重要,否则它只会为图例生成地图区域。