
|
public override void ViewDidLoad()
{
…
trackballBehavior = new SFChartTrackballBehavior();
trackballBehavior.LineStyle.Visible = false;
trackballBehavior.LabelStyle.Visible = false;
trackballBehavior.ActivationMode = SFChartTrackballActivationMode.TouchMove;
trackballBehavior.MarkerStyle.Visible = true;
trackballBehavior.MarkerStyle.MarkerType = SFChartDataMarkerType.Ellipse;
trackballBehavior.MarkerStyle.BorderColor = UIColor.FromRGB(38, 66, 118);
trackballBehavior.MarkerStyle.Color = UIColor.White;
trackballBehavior.MarkerStyle.Height = 15;
trackballBehavior.MarkerStyle.Width = 15;
trackballBehavior.MarkerStyle.BorderWidth = 4;
chart.Behaviors.Add(trackballBehavior);
…
}
private void Chart_SeriesRendered(object sender, EventArgs e)
{
if(series.SelectedDataPointIndex > -1)
{
ShowTrackballMarker(series.SelectedDataPointIndex);
}
}
private void Button_TouchUpInside(object sender, EventArgs e)
{
int index = random.Next(0, 6);
series.SelectedDataPointIndex = index;
ShowTrackballMarker(series.SelectedDataPointIndex);
}
private void ShowTrackballMarker(int index)
{
var Data = series.ItemsSource as ObservableCollection<ChartDataModel>;
if (Data != null && Data.Count > 0)
{
var selectedData = Data[index];
var x = chart.PointForValue(selectedData.Date.ToOADate(), chart.PrimaryAxis);
var y = chart.PointForValue(selectedData.YValue, chart.SecondaryAxis);
CGPoint point = new CGPoint(x, y);
trackballBehavior.Show(point);
}
} |