gpt4 book ai didi

wpf - SciChart - 并非所有图表 Pane 都能正确缩放

转载 作者:行者123 更新时间:2023-12-02 01:53:54 31 4
gpt4 key购买 nike

我有一个 TabControl,它通过 ItemsControl 包含动态数量的图表 Pane 。 ItemsControl 的 ItemsTemplate 内部是一个单独的 ScichartSurface,它绑定(bind)到 RenderableSeries、XAxis、YAxes 和 VerticalChartGroup。

xaml 看起来像这样:

<s:SciChartSurface name="Chart" RenderableSeries="{Binding rSeries}" XAxis="{Binding xAxis}" YAxes="{Binding yAxes}" s:SciChartGroup.VerticalChartGroup="{Binding vGroup}">

在表面内,我有一个 ModifierGroup,其中包含(按顺序)RubberbandXyZoomModifier (XAxisOnly)、MouseWheelZoomModifier、ZoomPanModifier、ZoomExtentsModifier 和自定义 mod 调用 TimeSegmentSelectionModifier。所有这些修饰符的 ReceiveHandledEvents 属性都设置为 True,它们都在同一个 MouseEventGroup 下,并且在正常情况下它们似乎都工作正常。

注意:Rubberband 和 TimeSegment 修改器相反地设置为“启用”。这意味着,一次只有其中一个起作用。

我的问题主要是与 RubberBand Mod 相关:

假设我显示了 5 个图表 Pane ,并且我想要放大;如果我在第三个图表中单击并拖动,每个图表都会正确缩放。如果我单击第三个图表,将鼠标拖动到该图表之外(屏幕上的任何其他位置)并松开,则只有图表 1、2 和 3 可以正确缩放。图 4 和图 5 不会移动,就好像我只是缩放到一定程度一样。

任意数量的图表 Pane 都会发生这种情况,并且无论我碰巧放大哪个 Pane ,都会出现此问题。

我几天来一直在解决这个问题,但我不知道还能去哪里寻找。非常感谢任何帮助。

最佳答案

我希望我早点看到这个,但你所描述的问题is solved here :

In order to synchronize two charts, you need to perform the following steps:

Set the MouseManager.MouseEventGroup attached property on the root SciChartSurface.ChartModifier. This synchronizes the mouse events between two or more charts which share the same MouseEventGroup ID.

Set the SciChartGroup.VerticalChartGroup attached property on the SciChartSurface itself. This synchronizes the sizes of the YAxis on multiple charts so that the charts line up

Bind the XAxis.VisibleRanges together. This ensures that the charts are always in sync as you zoom / pan (eliminates rounding error). These are demonstrated in our example Synchronize Multi Chart Mouse.

人们经常错过最后一步(将轴可见范围绑定(bind)在一起)。您的示例中是否存在这种情况?

我们在这里有一个关于同步多个图表的教程:

教程的 Github 源代码可以在 https://github.com/abtsoftware/scichart.wpf.examples 找到在教程文件夹下。

关于wpf - SciChart - 并非所有图表 Pane 都能正确缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51388154/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com