我使用Silverlight 5工具包创建了一个图表。它没有指定ItemsSource的LinearSeries(稍后在代码中分配)。 DateTimeAxis没有指定最大值和最小值,因为我可能在不同时间绘制不同的数据。但是,无论要绘制的数据是什么,我都希望这些点每30秒间隔一次。在XAML中指定此页面时,页面无法加载(系统内存不足)。当尝试不同(更大)的时间间隔时,它管理得很好(前1个月的步骤)。似乎如果没有向图表提供数据,则默认需要1年的间隔。
这是一个已知问题吗?处理这个问题的方法是什么,除了指定一个Max / Min,然后在提供一些数据后去除它?
这是我的代码:
<toolkit:Chart Title="Live Use">
<toolkit:Chart.Series>
<toolkit:LineSeries
IndependentValueBinding="{Binding Time}"
DependentValueBinding="{Binding Value}"
AnimationSequence="Simultaneous" />
</toolkit:Chart.Series>
<toolkit:Chart.Axes>
<toolkit:DateTimeAxis Orientation="X" Location="Bottom" BorderThickness="2" Title="Time" ShowGridLines="True" IntervalType="Months" Interval="3"/>
</toolkit:Chart.Axes>
</toolkit:Chart>
答案 0 :(得分:0)
显然这是工具包图表中的错误。我发现此链接证实了这一点:http://forums.silverlight.net/t/101287.aspx。问题是默认情况下图表的范围设置为1年。现在,如果您尝试将间隔设置为30秒,它将尝试生成大量标签,这将使其速度降低到内存不足的程度。解决方案是手动设置范围或在指定轴上的间隔之前指定itemsSource。
希望这有帮助。