Xaml 如何将Syncfusion win phone chart自定义调色板与条件一起放置
我有一个win phone图表控件,希望根据三个条件显示数据。所以我使用了一个棒序列,每个棒满足三个条件中的任何一个。所以我只想显示三种不同颜色的条形图,每种颜色对应一个条件Xaml 如何将Syncfusion win phone chart自定义调色板与条件一起放置,xaml,windows-phone-8,charts,syncfusion,color-palette,Xaml,Windows Phone 8,Charts,Syncfusion,Color Palette,我有一个win phone图表控件,希望根据三个条件显示数据。所以我使用了一个棒序列,每个棒满足三个条件中的任何一个。所以我只想显示三种不同颜色的条形图,每种颜色对应一个条件 <chart:ColumnSeries Label="Series1" ItemsSource="{Binding CategoricalDatas}" XBindingPath="Category" YBindingPath="Value" Palette="Custom">
<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>
这是一个简单的方法来放置不同颜色的酒吧。如何指定条件?您可以在Chart Series ColorModel converter中添加条件,并可以根据指定的条件返回自定义笔刷,如下面的代码段所示 代码段[C#]:
viewmodel model1=新的viewmodel();
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
model1.CustomBrush=新列表();
foreach(model1.Products中的var项)
{
如果(item.mark>=80)
{
model1.CustomBrush.Add(新的SolidColorBrush(Colors.Green));
}
否则,如果(项目标记<50)
{
model1.CustomBrush.Add(新的SolidColorBrush(Colors.Red));
}
否则如果(item.mark>50和&item.mark<80)
{
model1.CustomBrush.Add(新的SolidColorBrush(Colors.Blue));
}
}
ChartColorModel=新的ChartColorModel();
model.CustomBrush=model1.CustomBrush;
收益模型;
}
问候,
Sheik谢谢,但同步支持部门也给了我同样的答案。感谢同步快速支持
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;
}