Как создать несколько серий из связанного списка ChartValues ​​<T> в одну коллекцию Series в XAML? - PullRequest
0 голосов
/ 16 мая 2019

Мне удалось создать все другие диаграммы в моем приложении без создания элементов представления в viewmodel, но эта проблема доставляет мне проблемы.

Я создаю список списка объектов в viewmodel и передаю его как текстовый текст для usercontrol, содержащий столбчатую диаграмму с накоплением.

CartessianChart.Series - это SeriesCollection, которая является коллекцией, но не имеет ItemsSource или эквивалентного свойства. Я пытался использовать ItemsControl и различные виды шаблонов, но не могу найти работающее решение.

Что я хочу:

<lvc:CartesianChart>
    <lvc:CartesianChart.Series>
        Create this element below for every object in list
        <lvc:StackedColumnSeries Values="{Binding }" 
                                 Configuration="{x:Static mappers:mapper}"/>
    </lvc:CartesianChart.Series>
</lvc:CartesianChart>

Как я сейчас это делаю:

VM.cs:
   Series = new SeriesCollection();

   foreach (ChartValues<object>objects in ListOfDataIwouldLikeToBindDirectly)
   {
       Series.Add(new StackedColumnSeries(sameStaticMapper)
           {
               Values = objects
           });
    }


View.xaml:
    <lvc:CartesianChart Series="{Binding Series}"/>

Код выглядит как беспорядок, и обновление связанных данных становится трудным, когда я должен сделать это следующим образом.

Спасибо!

...