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

#xaml #windows-phone-8 #charts #syncfusion #color-palette

#xaml #windows-phone-8 #Диаграммы #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>
  

Это простой способ поместить разные цвета для столбцов. Как указать условие?

Ответ №1:

Вы можете добавить условие в преобразователь цветовой модели серии диаграмм и вернуть пользовательскую кисть на основе указанного условия, как показано в приведенном ниже фрагменте кода.

Фрагмент кода [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 amp;amp; item.mark < 80)
            {
                model1.CustomBrush.Add(new SolidColorBrush(Colors.Blue));
            }
        }
        ChartColorModel model = new ChartColorModel();
        model.CustomBrushes = model1.CustomBrush;
        return model;

    }
  

С уважением,

Шейк

Комментарии:

1. Спасибо, но я получаю тот же ответ и от службы поддержки синхронизации. Благодаря быстрой поддержке синхронизации