2009-09-28 133 views
1

Hy,在Silverlight Toolkit的LineChart上显示不同颜色的线条?

我有一个图表,它是在运行时创建的,这可以是Line, Bar或Pie类型。

基本上我想要的是在图表上的线上有更多的对比,这意味着我应该在线上使用不同的颜色。

对于条形图,我使用StylePalette属性来设置将在图表中使用的极好颜色,并且它工作正常,但对于Line它没有任何作用。

作为折线图我试过这个: 对于我想要使用的线可以说2种颜色。

Style style = new Style(typeof(Control)); 
    Setter st = new Setter(Control.ForegroundProperty, new SolidColorBrush(Colors.Red)); 
    style.Setters.Add(st); 
    Style style2 = new Style(typeof(Control)); 
Setter st2 = new Setter(Control.ForegroundProperty, new SolidColorBrush(Colors.Green)); 
       style2.Setters.Add(st2); 

       StylePalette palette = new StylePalette(); 
       palette.Add(style); 
       palette.Add(style2); 

       m_oChart.StylePalette = palette; 

这在XAML文件:

<chartingToolkit:Chart x:Name="m_oChart" Style="{StaticResource ChartStyleLegendBottom}" d:IsHidden="True"> 
        <chartingToolkit:Chart.StylePalette> 
         <visualizationToolkit:StylePalette> 
          <Style TargetType="Control"> 
           <Setter Property="Background" Value="Gray"/> 
          </Style> 
          <Style TargetType="Control"> 
           <Setter Property="Background" Value="Black"/> 
          </Style> 
         </visualizationToolkit:StylePalette> 
        </chartingToolkit:Chart.StylePalette> 
       </chartingToolkit:Chart> 

请注意,我尝试了背景和前景propertys也都在XAML和代码隐藏的一面。

我这个按照这个链接来完成:

http://forums.silverlight.net/forums/t/58894.aspx

基本上我想要的是对图上的线条更加的对比度,这意味着我应该上线使用不同的颜色。 我用这个例子来证明我在这种特殊情况下面临的问题。

有人有这个问题吗? 有人有任何解决方案吗?

回答

0

问题是我有一个样式覆盖了线条的背景颜色。 解决方案是从后面的代码中设置所有样式。

Style style = new Style(typeof(Control)); 
style.Setters.Add(new Setter(Control.BackgroundProperty, new SolidColorBrush(oColors[colors]))); 
style.Setters.Add(new Setter(Control.HeightProperty, 5)); 
style.Setters.Add(new Setter(Control.WidthProperty, 5)); 
series.DataPointStyle = style; 
3

所有这些Silverlight制图都很差/随机记录。

谨防StylePalette已经在Silverlight4和新机制&图表类型掉落释放它/与其他物体

更加一致
相关问题