1)我想在 5 分钟前创建缩放快捷方式。从最后一刻起 10 分钟和 24 小时。
我制作了这段代码,但它不能正常工作。
我应该解决什么问题?
ZoomOptions = new List<ZoomOption>
{
new ZoomOption("5M", TimeSpan.FromMinutes(5)),
new ZoomOption("30M", TimeSpan.FromMinutes(30)),
new ZoomOption("1H", TimeSpan.FromHours(1)),
new ZoomOption("1D", TimeSpan.FromHours(24)),
};
SelectedZoomOption = ZoomOptions.Last();
private void UpdateZoom()
{
if (_viewModel == null ||
_viewModel.SelectedZoomOption == null ||
_viewModel.LastTick == null) return;
var timeSpan = _viewModel.SelectedZoomOption.Time;
var latestXValue = _viewModel.LastTick.Time;
var startDate = latestXValue - timeSpan;
var axis = (CategoryDateTimeAxis)Chart.XAxis;
if (axis == null || axis.VisibleRange == null) return;
var calc = (ICategoryCoordinateCalculator)axis.GetCurrentCoordinateCalculator();
if (calc == null) return;
var startIndex = calc.TransformDataToIndex(startDate);
var max = ((IndexRange)axis.VisibleRange).Max;
var desiredMax = calc.TransformDataToIndex(latestXValue) + 5;
if (timeSpan < TimeSpan.FromMinutes(10))
{
max = desiredMax;
}
else if (max == desiredMax)
{
max += 100;
}
axis.VisibleRange = new IndexRange(startIndex, max);
}
2) 为什么当我没有图表历史但只有新的刻度时,我从一开始就看不到图表,但应该用鼠标回到以前的一点?
3) 更改菜单中的图形以初始化和重置时我应该怎么做?