Привязка объектов, отсутствующих в списке, к Telerik RadCartesianChart

У меня возникают проблемы при попытке привязать мой 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 для объекта в этом списке, это не проблема. Любые идеи о том, что я ошибаюсь? Спасибо!

1 ответ

Свойство BarSeries.ItemsSource имеет тип IEnumerable (см. Здесь). Вот почему это работает, когда вы бросаете свои предметы в список. Вы не показываете свою модель представления, но похоже, что она содержит три объекта вашей бизнес-модели (Current, Proposed, PayDown), и, как предполагается, они не реализуют IEnumerable.

Вы, вероятно, захотите сделать что-то похожее на то, что в примере здесь, установив свойство DataPoints BarSeries с тремя элементами CategoryorDataPoint, значения которых связаны с тремя объектами в вашей модели представления.

В качестве альтернативы, вы можете поместить три свойства viewmodel в CompositeCollection в xaml как ItemsSource.

Другие вопросы по тегам