我是WPF的新手,当然我遇到了Bindings的一些问题。
我初始化了RadCartesianChart,我希望显示来自不同类别列表的数据。对于每个列表,我想要不同的颜色,但我没有将Fill属性绑定到我后面的代码中的Color属性。
这就是我的XAML的样子:
<telerik:RadCartesianChart Name="RevChart">
<telerik:RadCartesianChart.Grid>
<telerik:CartesianChartGrid MajorYLineDashArray="5, 5" MajorLinesVisibility="Y">
<telerik:CartesianChartGrid.MajorYLineStyle>
<Style TargetType="{x:Type Line}">
<Setter Property="Stroke" Value="Gray"/>
</Style>
</telerik:CartesianChartGrid.MajorYLineStyle>
</telerik:CartesianChartGrid>
</telerik:RadCartesianChart.Grid>
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:CategoricalAxis />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LinearAxis/>
</telerik:RadCartesianChart.VerticalAxis>
<telerik:AreaSeries CategoryBinding="Date" ValueBinding="Rev" Fill="{Binding Color}">
</telerik:AreaSeries>
</telerik:RadCartesianChart>
这是我的C#代码:
public class Revenue
{
public double Rev { get; set; }
public DateTime Date { get; set; }
public Color Color { get; set; }
}
List<Revenue> list = new List<Revenue>();
...
...
this.RevChart.Series[0].ItemsSource = list;
结果我得到了正确的图片,但颜色是默认的。所以我对Color的绑定不起作用。这行Fill={Binding Color}
有问题吗?为什么呢?
答案 0 :(得分:0)
因为Fill
是Brush
并且您正在尝试分配Color
,因此无效。
您必须将Color
分配到Color
媒体资源中SolidColorBrush
的{{1}}媒体资源。
实施例
Fill