C# WPF工具包图表:如何删除线系列数据点,仍然获得不同的线系列颜色?
我使用了Jim McCurdy对此的非常有用的回答,以避免在WPF工具包中使用多行数列绘制数据点 但是:如果我不应用Jim的XAML样式,所有图表线当然会以显示数据点为代价获得不同的颜色,但是当我应用无数据点样式时,线颜色是恒定的,导致图表中的所有线具有相同的颜色 是否可以扩展XAML样式,以便图表中每个新的线条系列的线条颜色自动不同C# WPF工具包图表:如何删除线系列数据点,仍然获得不同的线系列颜色?,c#,wpf,charts,wpftoolkit,C#,Wpf,Charts,Wpftoolkit,我使用了Jim McCurdy对此的非常有用的回答,以避免在WPF工具包中使用多行数列绘制数据点 但是:如果我不应用Jim的XAML样式,所有图表线当然会以显示数据点为代价获得不同的颜色,但是当我应用无数据点样式时,线颜色是恒定的,导致图表中的所有线具有相同的颜色 是否可以扩展XAML样式,以便图表中每个新的线条系列的线条颜色自动不同 如果我正确地解释了这个问题的答案,那么这个问题很容易通过编程解决,但如果可能的话,我更喜欢基于XAML的解决方案。要在XAML中解决这个问题,一种方法是为要指定给
如果我正确地解释了这个问题的答案,那么这个问题很容易通过编程解决,但如果可能的话,我更喜欢基于XAML的解决方案。要在XAML中解决这个问题,一种方法是为要指定给线系列的每种颜色创建不同的数据点样式。例如,我简单地做到了:
<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>
动态指定新颜色可能有更好的方法,但如果您的需求不大,可以这样做。要在XAML中解决此问题,一种方法是为要指定给线条系列的每种颜色创建不同的数据点样式。例如,我简单地做到了:
<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>
动态分配新颜色可能有更好的方法,但如果您的需求不大,可以这样做。亲爱的PIntag,非常感谢您的回复。我在代码中动态地定义了不同的系列,因此我仍然需要显式地为代码中的每个新行系列指定一种新样式。显然,每一个新的线条系列都有一个隐式的颜色变化。如果我不改变样式,那么当数据点模板为空时,实现相同的功能就更好了。但无论如何,我感谢你花时间提供这个替代解决方案。不客气-很抱歉,对于这个问题,我没有一个更通用的解决方案来处理每个新线系列的隐式颜色变化。一定有办法做到这一点,但几个月前我在研究这个问题时没有找到答案。上面的解决方案对于我的应用程序来说已经足够了,所以我没有花更多的时间来研究这个问题。亲爱的PIntag,非常感谢您的回复。我在代码中动态地定义了不同的系列,因此我仍然需要显式地为代码中的每个新行系列指定一种新样式。显然,每一个新的线条系列都有一个隐式的颜色变化。如果我不改变样式,那么当数据点模板为空时,实现相同的功能就更好了。但无论如何,我感谢你花时间提供这个替代解决方案。不客气-很抱歉,对于这个问题,我没有一个更通用的解决方案来处理每个新线系列的隐式颜色变化。一定有办法做到这一点,但几个月前我在研究这个问题时没有找到答案。上面的解决方案对我的应用程序来说已经足够了,所以我没有花更多的时间研究这个问题。