[英]DynamicDataDisplay zoom and tooltips on realtime charts with syncronous X axis
前一段时间,我发布了有关同步图表的问题 。 我在这里找到了解决方案,但仍然存在一些问题。
AddMapping
方法并重建了库,但仍然无法正常工作。 所以我不知道下一步该怎么做。 感谢您的帮助和建议。 谢谢
关于缩放,我认为我设法解决了这个问题。
在MouseNavigation.cs中添加新属性
// 2014-02-22 - MPEKALSKI - added property to make possible
limiting on zoom on only one axis
private bool? _zoomX;
/// <summary>
/// Property for allowing/disallowing for zoom along X axis. By default allowed (true).
/// </summary>
public bool zoomX
{
get { return _zoomX ?? true; }
set { _zoomX = value; }
}
private bool? _zoomY;
/// <summary>
/// Property for allowing/disallowing for zoom along Y axis. By default allowed (true).
/// </summary>
public bool zoomY
{
get { return _zoomY ?? true; }
set { _zoomY = value; }
}
在同一个类中修改方法
private void MouseWheelZoom(Point mousePos, int wheelRotationDelta)
通过代替
Viewport.Visible = Viewport.Visible.Zoom(zoomTo, zoomSpeed);
与
// 2014-02-23 - MPEKALSKI - if we do not allow for change in Y
// then keep the old value, by analogy for X
Rect zoomedRect = Viewport.Visible.Zoom(zoomTo, zoomSpeed);
if (zoomY == false) { zoomedRect.Y = Viewport.Visible.Y;
zoomedRect.Height = Viewport.Visible.Height; }
if (zoomX == false) { zoomedRect.X = Viewport.Visible.X;
zoomedRect.Width = Viewport.Visible.Width; }
Viewport.Visible = zoomedRect;
给定chartPlotter对象只需将属性zoomY或zoomX设置为false即可防止沿该轴缩放,现在使用起来非常简单。
chartPlotter2.MouseNavigation.zoomY = false;
我不知道这是最理想的解决方案,但对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.