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