You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码后台为SciChart添加缩放与滚动功能?

在后台代码为SciChart添加缩放和滚动功能

完全可以通过后台代码实现SciChart的缩放与滚动功能,以下是具体实现方案和代码示例:

  • 添加交互缩放滚动Modifier
    后台代码中直接实例化ZoomPanModifier(支持拖拽滚动+鼠标滚轮缩放),并添加到SciChartSurface的ChartModifiers集合即可启用基础交互:

    // 假设你的SciChartSurface实例名为sciChartSurface
    var zoomPanModifier = new ZoomPanModifier();
    // 可选配置:设置拖拽方向(XY轴同时/单轴)、触发按键
    zoomPanModifier.XyDirection = XyDirection.XYDirection;
    zoomPanModifier.ExecuteOn = ExecuteOn.MouseRightButton; // 右键拖拽滚动,左键框选缩放
    sciChartSurface.ChartModifiers.Add(zoomPanModifier);
    
  • 代码主动触发全范围缩放
    如果需要通过按钮等控件触发一键缩放至所有数据范围,直接调用SciChartSurface的ZoomExtents()方法:

    // 缩放至所有数据的全范围
    sciChartSurface.ZoomExtents();
    // 仅针对X轴缩放至全范围
    sciChartSurface.XAxis.ZoomExtents();
    
  • 代码控制滚动(平移)
    通过修改轴的VisibleRange属性手动控制滚动,以X轴为例:

    // 假设X轴为数值型轴(DoubleAxis)
    var currentRange = sciChartSurface.XAxis.VisibleRange as DoubleRange;
    if (currentRange != null)
    {
        // 向右平移当前可见范围的10%宽度
        var rangeWidth = currentRange.Max - currentRange.Min;
        var newMin = currentRange.Min + rangeWidth * 0.1;
        var newMax = currentRange.Max + rangeWidth * 0.1;
        sciChartSurface.XAxis.VisibleRange = new DoubleRange(newMin, newMax);
    }
    
  • 扩展更多缩放功能
    如需更丰富的交互,可添加其他Modifier:

    // 鼠标滚轮缩放(仅缩放X轴)
    var mouseWheelZoomModifier = new MouseWheelZoomModifier();
    mouseWheelZoomModifier.ZoomExtentsY = false;
    sciChartSurface.ChartModifiers.Add(mouseWheelZoomModifier);
    
    // 双击缩放至全范围
    var zoomExtentsModifier = new ZoomExtentsModifier();
    zoomExtentsModifier.ExecuteOn = ExecuteOn.MouseDoubleClick;
    sciChartSurface.ChartModifiers.Add(zoomExtentsModifier);
    

内容的提问来源于stack exchange,提问作者jopa1351

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:41:41