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>

加载应用程序后,它显示添加了“无数据系列”。如果我将对象扔到一个列表中,并将每个 BarSeries 的项目源设置为该列表中的一个对象,它就没有问题。关于我做错了什么的任何想法?谢谢!

4

1 回答 1

1

BarSeries.ItemsSource 属性的类型为 IEnumerable(请参见此处)。这就是为什么当您将项目放入列表时它会起作用的原因。您没有显示您的视图模型,但看起来它公开了您的三个业务模型对象(Current、Proposed、PayDown),并且假设这些对象没有实现 IEnumerable。

您可能想要执行类似于此处示例中的操作,使用三个 CategoricalDataPoint 项设置 BarSeries 的 DataPoints 属性,这些项的值绑定到视图模型中的三个对象。

或者,您可以将三个视图模型属性放入 xaml 中的 CompositeCollection 作为 ItemsSource。

于 2013-01-17T23:49:13.693 回答