C# WPF动态添加控件和绑定问题

C# WPF动态添加控件和绑定问题,c#,wpf,binding,telerik,C#,Wpf,Binding,Telerik,我有两个问题: 为什么Color绑定不起作用。您能提供设置绑定的正确方法来动态管理颜色吗 现在我的SplineAreaSeries是静态的,并在XAML中初始化。如果我想再增加10个系列,那么最好和更优雅的方式是什么 XAML: 代码: 公共类ChartDataClass { 公共双XValue{get;set;} 公共双Y值{get;set;} 公共颜色{get;set;} } List list1=新列表(); 对于(int i=0;i

我有两个问题:

  • 为什么
    Color
    绑定不起作用。您能提供设置绑定的正确方法来动态管理颜色吗

  • 现在我的
    SplineAreaSeries
    是静态的,并在XAML中初始化。如果我想再增加10个系列,那么最好和更优雅的方式是什么

  • XAML:

    
    
    代码:

    公共类ChartDataClass
    {
    公共双XValue{get;set;}
    公共双Y值{get;set;}
    公共颜色{get;set;}
    }
    List list1=新列表();
    对于(int i=0;i<20;i++)
    {
    ChartDataClass c=新的ChartDataClass();
    c、 XValue=i;
    c、 YValue=rand.NextDouble()*100;
    c、 颜色=颜色。蓝色;
    清单1.添加(c);
    }
    xRevChart.Series[1].ItemsSource=list1;
    
    使用转换器返回绑定所需的内容

    我认为这是一个重复的问题:

    据我所知,与转换器工作原理相同,但已经在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;