Scichart:如何激活或取消激活轴范围同步

时间:2018-06-01 08:51:43

标签: axes synchronize scichart

如果将Axis的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为true或false则无关紧要。如果我设置没有触发器的绑定,两个轴都按预期同步,但如果我愿意,我无法阻止此行为。你怎么看 ?怎么办呢?

1 个答案:

答案 0 :(得分:0)

这在XAML中不起作用,但我在ViewModel中通过将每个图表绑定到IRange来解决它然后如果它们应该同步,每次IRange之一更改时,另一个通过处理PropertyChanged来更新(仅当SyncYAxes是真的。)