Xuni コントロール > FlexChart > 機能 > ヒットテスト |
HitTest()
メソッドを使用して、FlexChart 内でユーザーがタップしたポイントの X および Y 座標やインデックスを判定します。このメソッドは、FlexChart の系列外にツールチップを表示するといったシナリオで役立ちます。
次のコード例は、chart_Tapped
イベントを定義する方法を示します。このイベントは、HitTest()
メソッドを呼び出して、FlexChart 領域内のタップされたポイントの情報を取得し、それをグラフのフッターに表示します。
chart_Tapped
イベントを定義します。hitTest
(タイプ ChartHitTestInfo
)を作成して、HitPoint の情報を保存します
。HitTest()
メソッドを呼び出して、タップされたポイントの情報を取得します。HitPoint
情報をチャートフッターに表示します。C# |
コードのコピー
|
---|---|
static void chart_Tapped(object sender, Xuni.Xamarin.Core.Events.XuniTappedEventArgs e) { // HitPoint情報を取得するためにHitTestを起動します。 FlexChartHitTestInfo hitTest = chart.HitTest(e.HitPoint); // チャートフッターに HitPoint情報を表示します。 chart.FooterText = "Point Index = " + hitTest.PointIndex.ToString() + "\n X Value = " + hitTest.XValue.ToString() + "\n Y Value = " + hitTest.YValue.ToString(); } |
Tapped
イベントハンドラを設定します。以下のコードに例を示します。
メモ:このトピックでは、FlexChart は public static メンバとして、GetChartControl() メソッド定義外に宣言され、chart_Tapped イベントから参照できるようになっています。 |
C# |
コードのコピー
|
---|---|
//チャート上 Tapped イベントハンドラを設定します。
chart.Tapped += chart_Tapped;
|
chart_Tapped
を定義します。hitTest
(タイプ FlexChartHitTestInfo
)を作成して、HitPoint
の情報を保存します。HitTest
メソッドを呼び出して、タップされたポイントの情報を取得します。HitPoint
情報をチャートフッターに表示します。C# |
コードのコピー
|
---|---|
void flexChart_Tapped(object sender, Xuni.Xamarin.Core.Events.XuniTappedEventArgs e) { // HitPoint 情報を取得するため、HitTest を起動します。 FlexChartHitTestInfo hitTest = chart.HitTest(e.HitPoint); // チャートフッターに HitPoint 情報を表示します。 chart.FooterText = "Point Index = " + hitTest.PointIndex.ToString() + "\n X Value = " + hitTest.XValue.ToString() + "\n Y Value = " + hitTest.YValue.ToString(); } |
Tapped
イベントを設定します。以下のコードに例を示します。
XAML |
コードのコピー
|
---|---|
<xuni:FlexChart x:Name="chart" ItemsSource="{Binding Data}" ChartType="Column" Tapped="flexChart_Tapped" > <xuni:FlexChart.Series> <xuni:ChartSeries x:Name="Sales2014" Name="2014 Sales" Binding="Sales" ></xuni:ChartSeries> </xuni:FlexChart.Series> </xuni:FlexChart> |