【问题标题】:Showing lines with different colors on a Silverlight Toolkit’s LineChart?在 Silverlight 工具包折线图上显示不同颜色的线条?
【发布时间】:2009-09-28 13:48:05
【问题描述】:

喂,

我有一个图表,它是在运行时创建的,这可能是 Line, 条形或饼形。

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

对于条形图,我使用 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>

请注意,我在 xaml 和代码隐藏方面也尝试了 Background 和 Foreground 属性。

我根据这个链接做了这个:

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

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

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

【问题讨论】:

    标签: silverlight silverlight-3.0 charts silverlight-toolkit


    【解决方案1】:

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

    注意 StylePalette 已在 Silverlight4 中删除,并发布了与其他对象更一致的新机制和图表类型

    【讨论】:

      【解决方案2】:

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

      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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-24
        • 1970-01-01
        • 1970-01-01
        • 2017-02-02
        • 2018-02-26
        • 1970-01-01
        • 2022-10-24
        相关资源
        最近更新 更多