如果将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则无关紧要。如果我设置没有触发器的绑定,两个轴都按预期同步,但如果我愿意,我无法阻止此行为。你怎么看 ?怎么办呢?
答案 0 :(得分:0)
这在XAML中不起作用,但我在ViewModel中通过将每个图表绑定到IRange来解决它然后如果它们应该同步,每次IRange之一更改时,另一个通过处理PropertyChanged来更新(仅当SyncYAxes是真的。)