1

私はWPFが初めてで、もちろんバインディングに関するいくつかの問題に直面しました。

RadCartesianChart を初期化し、さまざまな種類のカテゴリ リストからデータを表示したいと考えています。これらのリストごとに異なる色が必要ですが、コード ビハインドで Fill プロパティを Color プロパティにバインドできません。

これは私のXAMLがどのように見えるかです:

    <telerik:RadCartesianChart Name="RevChart">
        <telerik:RadCartesianChart.Grid>
            <telerik:CartesianChartGrid MajorYLineDashArray="5, 5" MajorLinesVisibility="Y">
                <telerik:CartesianChartGrid.MajorYLineStyle>
                    <Style TargetType="{x:Type Line}">
                        <Setter Property="Stroke" Value="Gray"/>
                    </Style>
                </telerik:CartesianChartGrid.MajorYLineStyle>
            </telerik:CartesianChartGrid>
        </telerik:RadCartesianChart.Grid>
        <telerik:RadCartesianChart.HorizontalAxis>
            <telerik:CategoricalAxis />
        </telerik:RadCartesianChart.HorizontalAxis>
        <telerik:RadCartesianChart.VerticalAxis>
            <telerik:LinearAxis/>
        </telerik:RadCartesianChart.VerticalAxis>

        <telerik:AreaSeries CategoryBinding="Date" ValueBinding="Rev" Fill="{Binding Color}">

        </telerik:AreaSeries>

    </telerik:RadCartesianChart>

これは私のC#コードです:

public class Revenue
{
    public double Rev { get; set; }
    public DateTime Date { get; set; }
    public Color Color { get; set; }
}

List<Revenue> list = new List<Revenue>();
...
...
this.RevChart.Series[0].ItemsSource = list;

その結果、正しい画像が得られますが、色はデフォルトです。したがって、私の色のバインディングは機能しません。この行に問題がありFill={Binding Color}ますか?なんで?

4

1 に答える 1

0

FillはでBrushあり、を割り当てようとしているためColor、これは機能しません。

プロパティ内のaのプロパティに自分Colorを割り当てる必要があります。ColorSolidColorBrushFill

<telerik:AreaSeries CategoryBinding="Date" ValueBinding="Rev">
    <telerik:AreaSeries.Fill>
        <SolidColorBrush Color="{Binding Color}" />
    </telerik:AreaSeries.Fill>
</telerik:AreaSeries>
于 2013-02-20T00:10:37.480 に答える