0

我创建了一个具有 Telerik RadCartesianChart 的自定义控件。此自定义控件根据用户下拉选择创建任意数量的图表。屏幕上的图表数量可能会有所不同,但都具有相同的 x 轴。我在自定义控件上添加了一个图表跟踪球线,它在鼠标移动的一个图表上运行良好。我想在窗口上的所有其他图表上添加相同的轨迹球线,以便一个轨迹球上的运动将反映其他图表上的相同位置。我如何以编程方式实现此行为?

4

1 回答 1

0

我不知道您是否可以在不向每个图表添加 ChartTrackBallController 的情况下执行您正在尝试的操作。

我建议在一个图表中添加多个系列,共享 X 轴,但根据需要有多个 Y 轴。这样,ChartTrackBallController 将在图表中的所有系列上选择一个点。

    // Trackball
    ChartTrackballController ctbcMain = new ChartTrackballController();
    ctbcMain.TextNeeded += ctbcMain_TextNeeded;
    ctbcMain.InnerPointSize = new SizeF(0, 0);
    ctbcMain.OuterPointsSize = new SizeF(0, 0);
    rcvUPM.Controllers.Add(ctbcMain);
    rcvUPM.ShowTrackBall = true;

在上面的代码片段中,rcvUPM 是一个 radchartview,包含您要显示的所有数据系列,ctbcMain_TextNeeded 用于自定义轨迹球悬停显示的内容。

似乎默认情况下,悬停内容将包含来自每个系列的多个点,即使在根据 Telerik 支持的建议将 InnerPointSize 和 OuterPointsSize 设置为零之后,在 DataPointInfo 对象的集合上需要一个 LINQ FirstOrDefault 以将其限制为每个系列一个点.

于 2015-10-16T06:44:30.800 回答