【发布时间】: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。如果我在没有触发器的情况下设置绑定,则两个轴都按预期同步,但如果我愿意,我无法停止这种行为。你怎么看 ?这是怎么做到的?
【问题讨论】:
-
关于 WPF 中条件绑定的一些类似问题。仅在 value=true 时尝试 Datatrigger?你也可以试试 MultiBinding stackoverflow.com/a/28817452/303612
标签: axes synchronize scichart