原始问题
我正在使用Microsoft Chart Control将一些数据点显示为Line。我有一个带有自定义项目的图例,用于显示有关该行的计算信息(平均值和其他值)。
现在我启用了IsUserSelectionEnabled
,允许用户“放大”一系列值,我希望仅在当前查看的数据点上计算图例项目。
我可以使用AxisViewChanged事件来通知视图更改,但我无法弄清楚的是如何仅枚举当前在视图中的DataPoint
。
更新
缩放对我来说不起作用。我发现AxisViewChanged事件的NewPosition和NewSize属性确实包含用户选择的精确区域,但生成的缩放包含该区域之外的点。我需要更高的精确度。我需要的是两个游标,但控件只给你一个。
所以现在我的问题是:如何自定义这个东西来添加另一个游标?我现在还没问,如果我这样做,我会开始一个新问题。
虽然我仍然需要弄清楚如何将客户端坐标转换为数据坐标......
再次更新
我在Axis上找到了coord翻译功能。回想起来似乎很明显。
ChartArea.Axis.PixelPositionToValue
(适用于您需要的轴)
ChartArea.Axis.ValueToPixelPosition