Silverlight工具箱图表线系列的颜色选择

Silverlight工具箱图表线系列的颜色选择,silverlight,silverlight-toolkit,mschart,Silverlight,Silverlight Toolkit,Mschart,我正在使用Silverlight4工具包并使用图表控件,特别是直线系列。我还使用了一个Microsoft Silverlight主题,它附带了一些图表的默认样式 我知道,在ToolkitStyles.xaml中,有大量的彩色画笔供制图工具包使用-ChartBrush1、ChartBrush2等。。我不明白的是它们是如何被图表本身使用的 我问这个问题的原因是因为我正在尝试更改LineSeries的DataPointStyle-我成功地在Blend中取出了数据点样式的副本,并进行了我想要的更改,即使

我正在使用Silverlight4工具包并使用图表控件,特别是直线系列。我还使用了一个Microsoft Silverlight主题,它附带了一些图表的默认样式

我知道,在ToolkitStyles.xaml中,有大量的彩色画笔供制图工具包使用-ChartBrush1、ChartBrush2等。。我不明白的是它们是如何被图表本身使用的

我问这个问题的原因是因为我正在尝试更改LineSeries的DataPointStyle-我成功地在Blend中取出了数据点样式的副本,并进行了我想要的更改,即使数据点的大小变小。但一旦我这样做了,图表中的所有线条系列都有相同的颜色(橙色),而忽略了ChartBrush资源(如上所述)

是什么推动了系列产品的颜色选择?这是怎么发生的?如果我复制了模板,为什么会丢失它


谢谢

工具箱
图表
控件有一个属性
调色板
,它是样式的资源字典

您可以在“Controls.DataVisualization.Toolkit\Charting\Chart\Chart.xaml”中找到默认的图表样式

在那里,您可以看到
调色板
是一个
资源字典集合
,集合中的每个
资源字典
都定义了一个
数据点样式
。每个
DataPointStyle
都以不同的方式设置
Background
属性,这就是图表中每一行如何变成不同颜色的原因

从这里可以清楚地看到,为什么在xaml中显式设置了
DataPointStyle
的行序列中的行始终具有相同的颜色-定义颜色的默认
DataPointStyle
已被替换

解决方法是修改图表使用的调色板。在这里,我创建了一个基本样式,用于设置所需的
DataPointStyle
属性,然后为字典集合中的每个
DataPointStyle
指定
BasedOn=“{StaticResource DataPointStyleWithNoPoints}”


您只需在图表上指定选项板即可:

<toolkit:Chart Palette="{StaticResource ChartPaletteWithNoDataPoints}">
    ...
</toolkit:Chart>

...
<toolkit:Chart Palette="{StaticResource ChartPaletteWithNoDataPoints}">
    ...
</toolkit:Chart>