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