【问题标题】:Scichart: how to activate or deactivate the axes range synchronizationScichart:如何激活或停用轴范围同步
【发布时间】:2018-06-01 08:51:43
【问题描述】:

如果将 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。如果我在没有触发器的情况下设置绑定,则两个轴都按预期同步,但如果我愿意,我无法停止这种行为。你怎么看 ?这是怎么做到的?

【问题讨论】:

标签: axes synchronize scichart


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2018-02-08
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多