WPF工具包图表:如何删除线序数据点并仍然获得不同的线序列颜色?

时间:2011-11-24 11:00:13

标签: c# wpf charts wpftoolkit

我使用Jim McCurdy对此StackOverflow question非常有帮助的答案,以避免在包含多个系列的WPF工具包图表中绘制数据点。

但是:如果我不应用Jim的XAML样式,所有图表线都会获得不同的颜色(当然是以显示的数据点为代价),但是当我应用“无数据点”样式时,线条颜色是恒定的,导致图表中的所有线条具有相同的颜色。

是否可以扩展XAML样式,以使图表中每个新行系列的线条颜色自动不同?

如果我正确地解释了这个StackOverflow question的答案,那么这个问题很容易通过编程方式解决,但如果可能的话,我会更喜欢基于XAML的解决方案。

1 个答案:

答案 0 :(得分:4)

要在XAML中解决此问题,一种方法是为要分配给LineSeries的每种颜色创建不同的DataPoint样式。例如,我只是这样做了:

<Style x:Key="InvisibleDataPointBlue" TargetType="{x:Type charting:DataPoint}">
    <Setter Property="Background" Value="Blue"/>
    <Setter Property="Template" Value="{x:Null}"/>
</Style>

<Style x:Key="InvisibleDataPointRed" TargetType="{x:Type charting:DataPoint}">
    <Setter Property="Background" Value="Red"/>
    <Setter Property="Template" Value="{x:Null}"/>
</Style>

<Style x:Key="InvisibleDataPointGreen" TargetType="{x:Type charting:DataPoint}">
    <Setter Property="Background" Value="Green"/>
    <Setter Property="Template" Value="{x:Null}"/>
</Style>

可能有更好的方式来动态分配新颜色,但如果您的需求适中,则可以这样做。