Windows ストア アプリケーションを構築していて、XAML RT Toolkit でチャート コンポーネントを使用しようとしています。問題は、各列バーを特定の色で表現したいということです。しかし、私はそれを行う方法を見つけていません。円グラフのカラー パレットについても同様の質問があります。しかし、これは縦棒グラフでは機能しないようです。誰か助けてくれませんか?
1 に答える
1
こんにちは Rajkumar、私たちも同様の問題を抱えています。最後に成功しました。以下のリンクをご確認ください。
異なる色を与えるには、本質は次のとおりです。
ステップ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 に答える