.NET C# 折れ線グラフでは、Every Empty Point マーカーについて、ユーザーがマーカーの上にマウスを置いたときにポップアップを表示したいと考えています。
ツールチップとして単純な文字列を追加するのは簡単に思えますが、数行の情報と画像を含む空のポイント マーカーごとに小さなポップアップ ボックスを作成する必要があります。
アドバイスをいただければ幸いです。
.NET C# 折れ線グラフでは、Every Empty Point マーカーについて、ユーザーがマーカーの上にマウスを置いたときにポップアップを表示したいと考えています。
ツールチップとして単純な文字列を追加するのは簡単に思えますが、数行の情報と画像を含む空のポイント マーカーごとに小さなポップアップ ボックスを作成する必要があります。
アドバイスをいただければ幸いです。
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.
}
}
すべてのマップ エリアを正しく生成するには、シリーズをチャートに追加するときにすべてのシリーズに null 以外のツールチップを設定し、CustomizeMapAreasHandler でそれらを null に戻すことをお勧めします。この単純なトリックは、すべてのシリーズのマップ エリアが重要であることを MsCharts に伝えます。そうでない場合は、凡例のみのマップ エリアが生成されます。