我有一个胜利的电话图表控件,并希望根据三个条件显示数据。所以我使用的是一个酒吧系列,每个酒吧都满足三个条件中的任何一个。所以我只想展示三种不同颜色的条形图。
<chart:ColumnSeries Label="Series1" ItemsSource="{Binding CategoricalDatas}"
XBindingPath="Category" YBindingPath="Value" Palette="Custom"> <chart:ColumnSeries.ColorModel>
<chart:ChartColorModel>
<chart:ChartColorModel.CustomBrushes>
<SolidColorBrush Color="#F02B2C"/>
<SolidColorBrush Color="#FF3B5C"/>
<SolidColorBrush Color="#F06B3C"/>
<SolidColorBrush Color="#FFFB6C"/>
<SolidColorBrush Color="#F0FB8C"/>
</chart:ChartColorModel.CustomBrushes>
</chart:ChartColorModel>
</chart:ColumnSeries.ColorModel>
这是为酒吧添加不同颜色的简单方法。我如何指定条件?
答案 0 :(得分:1)
您可以在Chart Series ColorModel转换器中添加条件,并且可以根据指定的条件返回自定义画笔,如下面的代码片段所示。
代码段[C#]:
viewmodel model1 = new viewmodel();
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
model1.CustomBrush = new List<Brush>();
foreach (var item in model1.Products)
{
if (item.mark >= 80)
{
model1.CustomBrush.Add(new SolidColorBrush(Colors.Green));
}
else if (item.mark < 50)
{
model1.CustomBrush.Add(new SolidColorBrush(Colors.Red));
}
else if (item.mark > 50 && item.mark < 80)
{
model1.CustomBrush.Add(new SolidColorBrush(Colors.Blue));
}
}
ChartColorModel model = new ChartColorModel();
model.CustomBrushes = model1.CustomBrush;
return model;
}
此致
谢赫