WPF动态添加控件和绑定问题
本文关键字:绑定 问题 控件 动态 添加 WPF | 更新日期: 2023-09-27 18:00:17
我有两个问题:
-
为什么
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中将Color转换为Brush?