0

我使用 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>
4

1 回答 1

0

显然这是工具包图表中的一个错误。我发现这个链接证实了这一点:http ://forums.silverlight.net/t/101287.aspx 。问题是默认情况下图表的范围设置为 1 年。现在,如果您尝试将时间间隔设置为 30 秒,它将尝试生成大量标签,这会将其减慢到内存不足的程度。解决方案是手动设置范围或在指定轴上的间隔之前指定 itemsSource。

希望这可以帮助。

于 2012-07-11T08:46:57.980 回答