Как поставить пользовательскую палитру Syncfusion win phone chart с условиями

У меня есть элемент управления диаграммой телефона выигрыша, и я хочу показать данные на основе трех условий. Итак, я использую серию баров, и каждый бар удовлетворяет любому из трех условий. Поэтому я просто хочу показать столбцы трех разных цветов для каждого условия.

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

This is a simple way to put different colors for bars. How I specify condition?


person mayank.karki    schedule 23.06.2014    source источник


Ответы (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;

    }

С уважением,

Шейх

person sheik abuthaheer    schedule 06.11.2014
comment
Спасибо, но я также получаю тот же ответ от службы поддержки Sync. Благодаря быстрой поддержке Sync - person mayank.karki; 07.11.2014