У меня есть два вопроса:WPF динамически добавлять элементы управления и связывание вопроса
Почему
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;
Как я могу понимать, ' ' работает тот же принцип, как конвертер, но уже объявленный в XAML, так что я думаю, это не является проблемой конвертации. Поправьте меня, если я ошибаюсь. Благодаря! –