syncfusion wpf chart array of double - 如何与 mvvm 一起使用
syncfusion wpf chart array of double - how to use with mvvm
我有一个带有双精度数组[100] 的模型,我想直接将其用作图表的数据。索引值应为 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>
我无法想象这是获得结果的最佳方式...
The index value should be the X and the value at that index should be the Y on the chart.
好吧,让控件知道这一点的唯一方法是创建一个对象,其中 属性 是 returns X 值,另一个是 returns Y 值,然后将 XBindingPath
和 YBindingPath
分别设置为它们的名称。这是 MVVM。
控件真的不应该弄清楚你想让索引代表 Y 值。
我有一个带有双精度数组[100] 的模型,我想直接将其用作图表的数据。索引值应为 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>
我无法想象这是获得结果的最佳方式...
The index value should be the X and the value at that index should be the Y on the chart.
好吧,让控件知道这一点的唯一方法是创建一个对象,其中 属性 是 returns X 值,另一个是 returns Y 值,然后将 XBindingPath
和 YBindingPath
分别设置为它们的名称。这是 MVVM。
控件真的不应该弄清楚你想让索引代表 Y 值。