Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF工具包图表:如何删除线系列数据点,仍然获得不同的线系列颜色?_C#_Wpf_Charts_Wpftoolkit - Fatal编程技术网

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

C# WPF工具包图表:如何删除线系列数据点,仍然获得不同的线系列颜色?,c#,wpf,charts,wpftoolkit,C#,Wpf,Charts,Wpftoolkit,我使用了Jim McCurdy对此的非常有用的回答,以避免在WPF工具包中使用多行数列绘制数据点 但是:如果我不应用Jim的XAML样式,所有图表线当然会以显示数据点为代价获得不同的颜色,但是当我应用无数据点样式时,线颜色是恒定的,导致图表中的所有线具有相同的颜色 是否可以扩展XAML样式,以便图表中每个新的线条系列的线条颜色自动不同 如果我正确地解释了这个问题的答案,那么这个问题很容易通过编程解决,但如果可能的话,我更喜欢基于XAML的解决方案。要在XAML中解决这个问题,一种方法是为要指定给

我使用了Jim McCurdy对此的非常有用的回答,以避免在WPF工具包中使用多行数列绘制数据点

但是:如果我不应用Jim的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,非常感谢您的回复。我在代码中动态地定义了不同的系列,因此我仍然需要显式地为代码中的每个新行系列指定一种新样式。显然,每一个新的线条系列都有一个隐式的颜色变化。如果我不改变样式,那么当数据点模板为空时,实现相同的功能就更好了。但无论如何,我感谢你花时间提供这个替代解决方案。不客气-很抱歉,对于这个问题,我没有一个更通用的解决方案来处理每个新线系列的隐式颜色变化。一定有办法做到这一点,但几个月前我在研究这个问题时没有找到答案。上面的解决方案对我的应用程序来说已经足够了,所以我没有花更多的时间研究这个问题。