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

本文关键字:绑定 问题 控件 动态 添加 WPF | 更新日期: 2023-09-27 18:00:17

我有两个问题:

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

  2. 现在我的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;

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

使用转换器返回绑定所需的内容。

我认为这是一个愚蠢的问题:如何在XAML中将Color转换为Brush?