.NET веб-шоу расширенный всплывающий на Chart Control Наведите курсор мыши
На линейной диаграмме.NET C# для маркера Every Empty Point я хочу отображать всплывающее окно, когда пользователь наводит курсор мыши на маркер.
Кажется простым добавить простую строку в качестве всплывающей подсказки, но мне нужно создать небольшое всплывающее окно для каждого пустого маркера точки, которое содержит несколько строк информации и изображение.
Буду благодарен за любой совет!
1 ответ
MsCharts генерирует наложение карты (набор областей карты) на диаграмме, которую можно настроить для получения пользовательских событий при наведении курсора. Диаграмма выставляет CustomizeMapAreas
событие, на которое вы можете подписаться так:
protected void BindMapAreaEventHandlers()
{
this.CustomizeMapAreas += new EventHandler<CustomizeMapAreasEventArgs>(CustomizeMapAreasHandler);
}
private void CustomizeMapAreasHandler(object sender, CustomizeMapAreasEventArgs e)
{
}
Теперь позвони BindMapAreaEventHandlers()
функция во время инициализации графика и поставить логику, которая отображает всплывающее окно при наведении CustomizeMapAreasHandler
где вы можете перебирать все элементы карты, сгенерированные для графика.
private void CustomizeMapAreasHandler(object sender, CustomizeMapAreasEventArgs e)
{
foreach (MapArea item in e.MapAreaItems)
{
// any custom logic to change onHover for MapArea.
}
}
Чтобы все области карты были сгенерированы правильно, я рекомендую настроить ненулевые всплывающие подсказки для всех рядов при добавлении рядов на диаграмму, а затем изменить их обратно на ноль в CustomizeMapAreasHandler. Этот простой трюк сообщает MsCharts, что области карты для всех серий важны, в противном случае они будут создавать области карты только для легенды.