0

我有一个 win 电话图表控件,想根据三个条件显示数据。所以我使用了一个酒吧系列,每个酒吧都满足三个条件中的任何一个。所以我只想为一个条件显示三种不同颜色的条形图。

<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>

这是为条形添加不同颜色的简单方法。我如何指定条件?

4

1 回答 1

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;

    }

问候,

谢赫

于 2014-11-06T05:21:29.307 回答