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

标签 wpf xaml charts wpftoolkit

我有一个包含 1000 多个数据点的图表,我想知道如何删除这些数据点?他们大大减慢了整个过程。我研究了必须更改样式,还有其他方法吗?

Removing (collapsing) DataPoints in a 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>

我认为上面的代码可以工作,但显然不行......

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

Removing markers from silverlight line or area series

为帮助干杯。

最佳答案

将点样式设置为 Collapsed 不会解决您的问题,因为对象仍位于可视化树中,影响渲染时间。由于您已经为数据点设置了绑定(bind),因此删除它们的唯一方法是删除它们绑定(bind)到的业务对象。

此外,由于您谈论的是性能,因此值得注意的是 WPF 工具包的性能比其他一些免费图表组件差得多。请参阅 charting component's performance comparison 上的这篇文章- 它是为比较 Silverlight 版本而写的,但根据我的经验,它也适用于 WPF。使用 Visiblox、DD3 或 Visifire 可能会显着提高图表的性能。 (完全披露:我参与了 Visiblox 的开发)

关于WPF 工具包图表 - 折叠图表点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428587/

相关文章:

c# - 如何在 XAML 中指定 DataGrid 的 ItemsSource 类型?

c++ - Qt 图表库

wpf - 在渲染过程之前确定控件的大小

wpf - 当用户在菜单外单击时,如何使WPF上下文菜单消失?

wpf - 为 WPF 中的所有元素事件添加监听器

c# - 绑定(bind) WPF 密码框

c# - 如何将 WPF ComboBox 绑定(bind)到 XAML 中的 List<Objects>?

c# - 知道 "Datacontext"何时在 UserControl 的代码隐藏中更改

java - 从 JFreeChart 中删除一个饼图部分标签

javascript - Chart.js stepSize 不适用于日期的折线图