WPF工具包图表 - 折叠图表点

3
我有一个包含成千上万个数据点的图表,想知道如何删除这些数据点?它们会显著地减慢整个过程。我研究了一下需要改变样式,还有其他方法吗? 如何在LineSeries中删除(折叠)数据点?
<Grid>
    <chartingToolkit:Chart
       Width="Auto" Height="Auto"
       Background="Transparent" Panel.ZIndex="3">
        <chartingToolkit:LineSeries Title="Symbol" Background="Transparent"
      IndependentValueBinding="{Binding Path=Key}"
      DependentValueBinding="{Binding Path=Value}"
      ItemsSource="{Binding Path=SymbolData}" 
      DataContext="{Binding}">
            <chartingToolkit:LineSeries.DataPointStyle>
                <Style TargetType="{x:Type chartingToolkit:LineDataPoint}">
                    <Setter Property="Background" Value="Red"/>
                    <Setter Property="Visibility" Value="Collapsed"/>
                </Style>
            </chartingToolkit:LineSeries.DataPointStyle>
        </chartingToolkit:LineSeries>
    </chartingToolkit:Chart>
</Grid>

我以为上面的代码会起作用,但显然不行...

进一步研究后,即使这个答案也不起作用 : /

从Silverlight线条或区域系列中删除标记

感谢帮助。

1个回答

4
将点样式设置为Collapsed并不能解决问题,因为对象仍然在可视树中影响渲染时间。由于您已经为数据点设置了绑定,唯一的方法是删除它们绑定的业务对象来移除它们。
此外,由于您谈到了性能,值得注意的是WPF工具包的性能比其他一些免费的图表组件要差得多。请参阅图表组件性能比较文章 - 它是针对Silverlight版本进行编写的,但根据我的经验,它也适用于WPF。使用Visiblox、DD3或Visifire可能会显着提高您的图表性能。(完整披露:我曾参与开发Visiblox)

嗨,感谢回复,您说的“删除已绑定业务对象”的意思是什么?此外,感谢您提醒图表性能问题,我一定会看一下Visiblox! - Sparky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接