0

RadCartesianChart を別のオブジェクトにバインドしようとすると問題が発生します。3 つのオブジェクトのそれぞれのローン額を示す単純な棒グラフを作成しようとしています。私は MVVM パターンを使用していますが、DataContext には 3 つのオブジェクト (Current、Proposed、PayDown) があります。XAML でバインドを設定したいと思います。これが私が現在持っているものです:

                        <telerikChart:RadCartesianChart Width="500" >

                            <chartView:BarSeries ItemsSource="{Binding CurrentLoan}" ValueBinding="LoanAmount" CategoryBinding="Name"/>
                            <chartView:BarSeries ItemsSource="{Binding Proposed}" ValueBinding="LoanAmount" CategoryBinding="Name"/>
                            <chartView:BarSeries ItemsSource="{Binding PayDown}" ValueBinding="LoanAmount" CategoryBinding="Name"/>

                            <telerikChart:RadCartesianChart.HorizontalAxis>
                                <chartView:CategoricalAxis/>
                            </telerikChart:RadCartesianChart.HorizontalAxis>

                            <telerikChart:RadCartesianChart.VerticalAxis>
                                <chartView:LinearAxis/>
                            </telerikChart:RadCartesianChart.VerticalAxis>


                        </telerikChart:RadCartesianChart>

アプリをロードすると、「No Data Series」が追加されて表示されます。オブジェクトをリストにスローし、各 BarSeries の項目ソースをそのリスト内のオブジェクトに設定しても問題ありません。私が間違っていることについてのアイデアはありますか? ありがとう!

4

1 に答える 1

1

BarSeries.ItemsSourceプロパティのタイプはIEnumerableです(ここを参照)。これが、アイテムをリストに入れるときに機能する理由です。ビューモデルは表示されませんが、3つのビジネスモデルオブジェクト(Current、Proposed、PayDown)が公開されているように見えます。また、これらはIEnumerableを実装していないと想定されます。

おそらく、ここの例のように、ビューモデルの3つのオブジェクトに値がバインドされている3つのCategoricalDataPointアイテムを使用してBarSeriesのDataPointsプロパティを設定する必要があります。

または、3つのviewmodelプロパティをItemsSourceとしてxamlのCompositeCollectionに配置することもできます。

于 2013-01-17T23:49:13.693 に答える