private void SetItemsSource(Point point, ISupportAxes series) { var chartSeries = series as CartesianSeries; var pointx = Math.Truncate(ChartArea.PointToValue(series.ActualXAxis, point)); var pointy = Math.Truncate(ChartArea.PointToValue(series.ActualYAxis, point)); if (chartSeries == null || (!(pointx >= 0) || !(pointx < chartSeries.DataCount))) { return; } var dataSource = chartSeries.ItemsSource as List <StockDatas>; if (dataSource != null) { customInfo = new ChartCustomInfo { LabelX = chartSeries.Label, ValueX = dataSource[(int)pointx].TimeStamp.ToString("MM-dd-yyyy"), ValueY = pointy.ToString(series.ActualYAxis.LabelFormat, CultureInfo.CurrentCulture), YValues = GetYValuesBasedOnIndex(pointx, chartSeries) } } ; if (AnalyticsInfo.VersionInfo.DeviceFamily != "Windows.Mobile") { customInfo.LabelY = ChartArea.SecondaryAxis.Header.ToString(); } yCount = customInfo.YValues.Count; customInfo.LabelYValues = GetLabelYValues(); customInfo.Visibility = Visibility.Visible; PointInfos.Add(customInfo); PositionSummaryControl(point, chartSeries); }
public object Convert(object value, Type targetType, object parameter, string language) { ChartCustomInfo obj = value as ChartCustomInfo; return(obj.LabelX + " " + "|" + " " + obj.ValueX.ToString()); }