如何将Syncfusion win手机图表自定义调色板与条件放在一起

时间:2014-06-23 05:12:01

标签: xaml windows-phone-8 charts syncfusion color-palette

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

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

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

1 个答案:

答案 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;

    }

此致

谢赫