#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. Спасибо, но я получаю тот же ответ и от службы поддержки синхронизации. Благодаря быстрой поддержке синхронизации