ViewportManagerBase
定义 ViewportManager 的基类,可用于控制可见范围,并用于 UltrachartSurface 上的测距
实现: IViewportManager, IUltrachartController, ISuspendable, IInvalidatableElement
属性
public bool IsAttached { get; private set; }
value = viewportManagerBase.IsAttached
viewportManagerBase.IsAttached = value
获得表示 ViewportManagerBase 是否附着 UltrachartSurface 的值 。
public bool IsSuspended { get; }
value = viewportManagerBase.IsSuspended
获得一个值,显示当前是否暂停目标更新
public IServiceContainer Services { get; set; }
value = viewportManagerBase.Services
viewportManagerBase.Services = value
获取全Ultrachart中提供服务访问的 ServiceContainer 。 ServiceContainers 是一个每 UltrachartSurface 实例创建的, 并共享到周边组件, 如 AxisBase 、 BaseRenderableSeries 、 ChartModifierBase 实例。 完整的服务列表请参见 ServiceContainer 上的评论 。
方法
public void AnimateZoomExtents(TimeSpan duration)
viewportManagerBase.AnimateZoomExtents(duration)
缩小到指定动画持续时间的地平面
- duration
- 缩放到等宽时动画的持续时间
public void AnimateZoomExtentsX(TimeSpan duration)
viewportManagerBase.AnimateZoomExtentsX(duration)
将图表缩放到 X 方向中的数据范围
- duration
public void AnimateZoomExtentsY(TimeSpan duration)
viewportManagerBase.AnimateZoomExtentsY(duration)
将图表缩放到 Y 方向中的数据范围, 将当前数据计入 X 方向中
- duration
public virtual void AttachUltrachartSurface(IUltrachartSurface scs)
viewportManagerBase.AttachUltrachartSurface(scs)
ViewportManagerBase 被连接到父机UltrachartSurface时被调用
- scs
- The UltrachartSurface instance
public virtual IRange CalculateAutoRange(IAxis axis)
result = viewportManagerBase.CalculateAutoRange(axis)
被衍生类型所覆盖, 当父 {} UltrachartSurface} 请求自动进行范围排序时调用。 此方法返回的范围将在渲染时应用到图表中
- axis
- 轴
返回值: The new VisibleRange for the YAxis
public IRange CalculateNewXAxisRange(IAxis xAxis)
result = viewportManagerBase.CalculateNewXAxisRange(xAxis)
由 UltrachartSurface 在渲染过程中调用, 用于计算新的 XAxis VisibleRange 。 覆盖衍生类型的内容, 以返回自定义值
- xAxis
返回值: The new IRange VisibleRange for the axis
public IRange CalculateNewYAxisRange(IAxis yAxis, RenderPassInfo renderPassInfo)
result = viewportManagerBase.CalculateNewYAxisRange(yAxis, renderPassInfo)
由 UltrachartSurface 在渲染过程中调用, 用于计算 YAXis VisibleRange 。 覆盖衍生类型的内容, 以返回自定义值
- yAxis
- 要计算 YA 轴
- renderPassInfo
- 包含渲染数据的当前 RenderPassInfo
返回值: The new IRange VisibleRange for the axis
public void DecrementSuspend()
viewportManagerBase.DecrementSuspend()
每次处置目标悬浮器时, IUpdateSuspender 都会被调用。 当最终目标悬浮器被处理后, ResumeUpdates 被调用 。
public virtual void DetachUltrachartSurface()
viewportManagerBase.DetachUltrachartSurface()
当ViewportManagerBase脱离母体UltrachartSurface时调用
public void InvalidateElement()
viewportManagerBase.InvalidateElement()
同步请求元素重画自身和子 。 如果元素是可被ISuspendable 且当前为 IsSuspended(在 SuspendUpdates / ResumeUpdates 呼叫中), 则会忽略 。
public void InvalidateParentSurface(RangeMode rangeMode)
viewportManagerBase.InvalidateParentSurface(rangeMode)
用指定的 RangeMode 在母面上重新绘制
- rangeMode
- RangeMode 指定如何重画父面
protected abstract IRange OnCalculateNewXRange(IAxis xAxis)
result = viewportManagerBase.OnCalculateNewXRange(xAxis)
被衍生类型所覆盖, 当父 {} UltrachartSurface} 请求 XAxis {} VisibleRange}\\ 时调用。 此方法返回的范围将在渲染时应用到图表中
- xAxis
- 轴心国
返回值: The new VisibleRange for the XAxis
protected abstract IRange OnCalculateNewYRange(IAxis yAxis, RenderPassInfo renderPassInfo)
result = viewportManagerBase.OnCalculateNewYRange(yAxis, renderPassInfo)
被衍生类型所覆盖, 当父 {} {UltrachartSurface} 请求 YAXIS {} {VisibleRange}\\ 时使用。 此方法返回的距离将在渲染时应用到图表中
- yAxis
- 亚轴线
- renderPassInfo
- 传票信息。
返回值: The new VisibleRange for the YAxis
protected void OnInvalidateParentSurface(DependencyPropertyChangedEventArgs e)
viewportManagerBase.OnInvalidateParentSurface(e)
提升InvalidateParentSurface事件.
- e
- 包含事件数据的 DependencyPropertyChangedEventArgs 实例 。
public virtual void OnParentSurfaceRendered(IUltrachartSurface ultraChartSurface)
viewportManagerBase.OnParentSurfaceRendered(ultraChartSurface)
IUltrachartSurface 被调用时被调用.
- ultraChartSurface
- The UltrachartSurface instance
public virtual void OnVisibleRangeChanged(IAxis axis)
viewportManagerBase.OnVisibleRangeChanged(axis)
当 VisibleRange 更改了轴时调用。 覆盖了衍生类型的信息, 以获得此事件的通知
- axis
- 轴心
public void ResumeUpdates(IUpdateSuspender suspender)
viewportManagerBase.ResumeUpdates(suspender)
续集目标更新,计划由IUpdateSuspender调用
- suspender
public IUpdateSuspender SuspendUpdates()
result = viewportManagerBase.SuspendUpdates()
悬停绘制目标上的最新消息, 直至返回对象处理完毕, 此时将发出最后的绘图调用
返回值: 可支配更新悬浮器
public void ZoomExtentsY()
viewportManagerBase.ZoomExtentsY()
将图表缩放到 Y 方向中的数据范围, 将当前数据计入 X 方向中