Scichart:如何激活或停用轴范围同步

Scichart: how to activate or deactivate the axes range synchronization

如果将轴的 VisibleRange 绑定到 ViewModel 中的 属性 类型的 IRange,则可以同步轴。因此,如果我有 2 个图表,我可以将它们绑定到同一个 IRange,然后它们就会同步。这很好用。现在我希望能够激活或停用此行为。我做了类似的事情,但它不起作用:

<s:SciChartSurface.YAxis>
    <s:NumericAxis>
        <s:NumericAxis.Style>
            <Style TargetType="s:NumericAxis">
                <Style.Triggers>
                  <DataTrigger Binding="{Binding SyncYaxes}" Value="True">
                      <Setter Property="VisibleRange" Value="{Binding 
                              SyncSharedYrange, Mode=TwoWay}"/>
                  </DataTrigger>
                  <DataTrigger Binding="{Binding SyncYaxes}" Value="False">
                      <Setter Property="VisibleRange" Value="{x:Null}"/>                        
                  </DataTrigger>
                </Style.Triggers>
            </Style>
        </s:NumericAxis.Style>
    </s:NumericAxis>
</s:SciChartSurface.YAxis>

执行这些触发器后,它停止工作,属性 SyncYaxes 是真还是假都没有关系。如果我在没有触发器的情况下设置绑定,两个轴都会按预期同步,但如果我愿意,我无法停止此行为。你怎么看 ?如何做到这一点?

这在 XAML 中不起作用,但我在 ViewModel 中解决了这个问题,方法是将每个图表绑定到一个 IRange 然后如果它们应该同步,每次 IRange 之一发生变化时,另一个就会更新通过处理 PropertyChanged(仅当 SyncYAxes 为真时)。