private void RefreshXLabels() { if (double.IsNaN(ViewMaximum) || double.IsNaN(ViewMinimum) || ViewMaximum - ViewMinimum < 1) { return; } double labelStep = (ViewMaximum - ViewMinimum) / MajorGridCount; double labelRangeSize = labelStep / 2; double labelPosition = ViewMinimum; for (int i = 0; i < MajorGridCount; i++) { CustomLabels[i].FromPosition = labelPosition - labelRangeSize; CustomLabels[i].ToPosition = labelPosition + labelRangeSize; CustomLabels[i].Text = _parentChart.GetXLabelValue(labelPosition); labelPosition += labelStep; } // 最后一个做特殊处理 labelPosition = ViewMaximum; CustomLabels[MajorGridCount].FromPosition = labelPosition - labelRangeSize; CustomLabels[MajorGridCount].ToPosition = labelPosition + labelRangeSize; // 最后一个点使用 if (labelPosition > -1) { labelPosition = -1; } CustomLabels[MajorGridCount].Text = _parentChart.GetXLabelValue(labelPosition); }
internal string GetXValue(int xValue) { return(_parentChart.GetXLabelValue(xValue)); }