我设法在应用程序中创建了所有其他图表,而没有在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}"/>
代码看起来一团糟,当我必须这样做时,更新绑定数据变得很困难。
谢谢!