嗨,我用这段代码解决了这个问题:在我的情况下,我需要具有不同颜色的实际小时数据的列。
代码背后:
public Brush DangerBrushFill { get; set; } = new SolidColorBrush(Colors.DarkOrange);
public Brush DangerBrushStroke { get; set; } = new SolidColorBrush(Colors.Black);
public CartesianMapper<Double> Mapper { get; set; }
public ChartValues<double> ChartValues { get; private set; }
Mapper = Mappers.Xy<Double>()
.X((item, index) => item)
.Y((item, index) => index)
.Fill((item, index) =>
(item > 0 && index == DateTime.Now.Hour - 1) ? DangerBrushFill : null)
.Stroke((item, index) =>
(item > 0 && index == DateTime.Now.Hour - 1) ? DangerBrushFill : null);
SeriesCollection = new SeriesCollection
{
new RowSeries
{
Configuration=Mapper,
Values = ChartValues,
StrokeThickness = 3
}
};
xml:
<lvc:CartesianChart Hoverable="False"
Series="{Binding SeriesCollection}">
我希望这对你有帮助。