未应用BarDataPoint的隐含样式

时间:2012-02-01 10:35:31

标签: silverlight silverlight-toolkit

我目前正致力于为图表创建主题。 除了其他方面,我想让BarSeries中的酒吧看起来平坦(没有边框)。 我想让它与隐式样式一起工作,所以我添加了一个Style到BarDataPoint(没有Key,因为它需要通过隐式样式工作)但是它没有被应用。

知道为什么不适用? 是否因为Palette的DataPointStyle样式而被应用?

我要做的是更改BarDataPoint的外观,但仍然应用了调色板中的颜色。并尝试通过纯XAML(如果可能)使这项工作。

为了使这项工作,我看到的唯一方法是通过更改DataPointStyle(在Chart.Palette中的每个ResourceDictionary中)将TargetType设置为BarDataPoint并将Template设置为我的模板实现:

 <toolkit:Chart.Palette>
    <toolkit:ResourceDictionaryCollection>
        <ResourceDictionary>
            <Style x:Key="DataPointStyle" TargetType="toolkit:BarDataPoint" BasedOn="{StaticResource BarDataPointStyle}">
                <Setter Property="Background" Value="Yellow" />
                <Setter Property="BorderBrush" Value="Black" />
            </Style>
        </ResourceDictionary>
        <ResourceDictionary>
            <Style x:Key="DataPointStyle" TargetType="toolkit:BarDataPoint" BasedOn="{StaticResource BarDataPointStyle}">
                <Setter Property="Background" Value="Red" />
                <Setter Property="BorderBrush" Value="Black" />
            </Style>
        </ResourceDictionary>
    </toolkit:ResourceDictionaryCollection>
</toolkit:Chart.Palette>

但是因为这是用于Chart控件的隐式样式,如果我有一个具有不同类型系列的Char控件,那将如何工作,例如带有ColumnSeries的Chart?我不认为DataPointStyle在这种情况下会起作用,因为它的目标是BarDataPoint类型(我想应用程序会崩溃)。

我是否被迫使用不同的键创建不同的图表样式(每个样式都将DataPointStyle更改为目标不同的控件模板)?

但是,对于具有多个不同系列的Chart控件,它将如何工作?

我还尝试使用工具包的隐式样式:调色板资源字典中的BarDataPoint,但是没有成功:

<Setter Property="Palette">
        <Setter.Value>
            <toolkit:ResourceDictionaryCollection>
                <ResourceDictionary>
                    <SolidColorBrush x:Key="Background"
                                     Color="#FFCA294D" />
                    <Style TargetType="toolkit:BarDataPoint">
                        <Setter Property="Template"
                                Value="{StaticResource BarDataPointTemplate}" />
                        <Setter Property="Background"
                                Value="{StaticResource Background}" />
                    </Style>

我试图看看像JetPack这样的主题,但它们似乎没有做我想要的。

谢谢!

1 个答案:

答案 0 :(得分:0)

抱歉迟到了。

检查此解决方案。也可以帮助别人 Silverlight 4: Chart Toolkit Color Set