问题描述
我有一个数组 [100] 为 double 的模型,我想直接将其用作图表的数据。索引值应为图表上的 X,该索引处的值应为 Y。
目前我必须将数组转换为点列表(在我的 viewmodel 中),其中我将索引值 (0-99) 存储为点的 X,将该数组索引的值存储为点的 Y 值点。
我的 xaml 看起来像这样:
<UserControl.DataContext>
<local:viewmodel/>
</UserControl.DataContext>
<Grid>
<syncfusion:SfChart>
<chart:SfChart.PrimaryAxis>
<chart:NumericalAxis/>
</chart:SfChart.PrimaryAxis>
<chart:SfChart.SecondaryAxis>
<chart:NumericalAxis/>
</chart:SfChart.SecondaryAxis>
<chart:Lineseries ItemsSource="{Binding Data}" XBindingPath="X" YBindingPath="Y"/>
</syncfusion:SfChart>
</Grid>
</UserControl>
我无法想象这是获得结果的最佳方式......
解决方法
索引值应为图表上的 X,该索引处的值应为 Y。
好吧,让控件知道这一点的唯一方法是创建一个具有返回 X 值的属性和另一个返回 Y 值的属性的对象,然后将 XBindingPath
和 YBindingPath
设置为这些分别的名称。这是 MVVM。
控件不能真正确定您希望索引表示 Y 值。