1

やあ、

実行時に作成されるグラフがあります。これは、線、棒、または円のタイプである可能性があります。

基本的に私が欲しいのは、チャートの線のコントラストを上げることです。これは、線に異なる色を使用する必要があることを意味します。

棒グラフの場合、StylePaletteプロパティを使用して、グラフで使用される色を設定します。これは正常に機能しますが、線の場合は効果がありません。

折れ線グラフとして私はこれを試しました:私が使用したい線については、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側とcodebehind側の両方でBackgroundプロパティとForegroundプロパティも試したことに注意してください。

私はこのリンクに従ってこれを行いました:

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

基本的に私が欲しいのは、チャートの線のコントラストを上げることです。これは、線に異なる色を使用する必要があることを意味します。この例を使用して、この特定の状況で直面している問題を示します。

誰かがこの問題を抱えていますか? 誰かがそのための解決策を持っていましたか?

4

2 に答える 2

3

このSilverlightチャートはすべて、十分に/ランダムに文書化されていません。

StylePaletteがSilverlight4で削除され、他のオブジェクトとより一貫性のある新しいメカニズムとチャートタイプがリリースされたことに注意してください

于 2011-01-22T13:30:32.780 に答える
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;
于 2009-10-07T06:20:04.247 に答える