1

Windows ストア アプリケーションを構築していて、XAML RT Toolkit でチャート コンポーネントを使用しようとしています。問題は、各列バーを特定の色で表現したいということです。しかし、私はそれを行う方法を見つけていません。円グラフのカラー パレットについても同様の質問があります。しかし、これは縦棒グラフでは機能しないようです。誰か助けてくれませんか?

4

1 に答える 1

1

こんにちは Rajkumar、私たちも同様の問題を抱えています。最後に成功しました。以下のリンクをご確認ください。

http://blogs.msdn.com/b/delay/archive/2009/02/04/columns-of-a-different-color-customizing-the-appearance-of-silverlight-charts-with-re-templating-および-mvvm.aspx

異なる色を与えるには、本質は次のとおりです。

ステップ1。

次のように、Page.Resource の下にスタイルを作成します。

<Page.Resources>
        <Style
    x:Key="**ColorByPreferenceColumn**"
    TargetType="charting:ColumnDataPoint">
            <Setter Property="Background" Value="DarkGray"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate
                TargetType="charting:ColumnDataPoint">
                        <Border
                    BorderBrush="{TemplateBinding BorderBrush}"
                    BorderThickness="{TemplateBinding BorderThickness}">
                            <Grid Background="{Binding **ColorBackGround**}">
                                <Rectangle>
                                    <Rectangle.Fill>
                                        <LinearGradientBrush>
                                            <GradientStop Color="#77ffffff" Offset="0"/>
                                            <GradientStop Color="#00ffffff" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Rectangle.Fill>
                                </Rectangle>
                                <Border BorderBrush="#ccffffff" BorderThickness="1">
                                    <Border BorderBrush="#77ffffff" BorderThickness="1"/>
                                </Border>
                            </Grid>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

ステップ2。

チャート コントロールにスタイルを適用します。

<charting:Chart  x:Name="BuildStatusChart" Title="Build Status" Foreground="Black" Margin="20,20,20,20">
           <charting:Chart.Series>

                <Series:ColumnSeries Title="Build Status" ItemsSource="{Binding Items}" 
                        IndependentValueBinding="{Binding Index}" HorizontalContentAlignment="Center"
                        DependentValueBinding="{Binding BuildTime}"
                        IsSelectionEnabled="False" SelectionChanged="OnSelectionChanged"  DataPointStyle="{StaticResource ColorByPreferenceColumn}" >
                 </Series:ColumnSeries>
            </charting:Chart.Series>
        </charting:Chart>

ステップ 3:

Note : the style name is "ColorByPreferenceColumn"  and color for each bar will be represented by "ColorBackGround". Search the above code segment , to know how it is applied. FInal thing is on code side have class with "ColorBackGround" peoperty.

public class Build : BindableBase
    {
        //Build Class 

 public Build() {}

 private SolidColorBrush _colorBackGround;
        public SolidColorBrush ColorBackGround
        {
            get { return _colorBackGround; }
            set { _colorBackGround = value; }
        }

       // And your properties......
}

ステップ 5:

もちろん、ご存知のように、

バインディング コレクションを設定します。私たちの場合はそうでした

((ColumnSeries)this.BuildStatusChart.Series[0]).ItemsSource = items; // items collection of individual objects.

宜しくお願いします、Anish.AR

于 2013-08-02T09:09:14.727 に答える