1

1) Zoom ショートカットを作成したい - 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) メニューのグラフを変更して初期化およびリセットする場合はどうすればよいですか?

4

1 に答える 1