2 つの質問があります。
Color
バインドが機能しない理由。色を動的に管理するためのバインディングを設定する適切な方法を教えてください。現在、私
SplineAreaSeries
は静的であり、XAML で初期化されています。さらに 10 個のシリーズを追加したい場合、それを行うための最善かつよりエレガントな方法は何ですか?
XAML:
<telerik:RadCartesianChart x:Name="xRevChart">
<telerik:RadCartesianChart.Grid>
<telerik:CartesianChartGrid MajorLinesVisibility="XY" MajorXLineDashArray="10.5"
MajorXLinesRenderMode="All"/>
</telerik:RadCartesianChart.Grid>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LinearAxis></telerik:LinearAxis>
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:CategoricalAxis></telerik:CategoricalAxis>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:SplineAreaSeries Name="xSplineArea1" CategoryBinding="XValue" ValueBinding="YValue">
<telerik:SplineAreaSeries.Fill>
<SolidColorBrush Color="{Binding Color}"/>
</telerik:SplineAreaSeries.Fill>
</telerik:SplineAreaSeries>
<telerik:SplineAreaSeries Name="xSplineArea2" CategoryBinding="XValue" ValueBinding="YValue">
<telerik:SplineAreaSeries.Fill>
<SolidColorBrush Color="{Binding Color}"/>
</telerik:SplineAreaSeries.Fill>
</telerik:SplineAreaSeries>
</telerik:RadCartesianChart>
コード:
public class ChartDataClass
{
public double XValue { get; set; }
public double YValue { get; set; }
public Color Color { get; set; }
}
List<ChartDataClass> list1 = new List<ChartDataClass>();
for (int i = 0; i < 20; i++)
{
ChartDataClass c = new ChartDataClass();
c.XValue = i;
c.YValue = rand.NextDouble() * 100;
c.Color = Colors.Blue;
list1.Add(c);
}
xRevChart.Series[1].ItemsSource = list1;