WPF Toolkit Chart - Сворачивающиеся точки диаграммы - PullRequest
3 голосов
/ 13 декабря 2010

У меня есть диаграмма с тысячами точек данных, и мне интересно, как удалить точки данных? Они значительно замедляют весь процесс. Я исследовал необходимость сменить стиль, есть ли другой способ?

Удаление (свертывание) точек данных в 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 голосов
/ 13 декабря 2010

Установка стилей точек на Collapsed не решит вашу проблему, так как объекты все еще будут в визуальном дереве, влияющем на время рендеринга. Поскольку вы установили привязки для точек данных, единственный способ удалить их - это удалить ваши бизнес-объекты, с которыми они связаны.

Кроме того, поскольку вы говорите о производительности, стоит отметить, что производительность инструментария WPF намного ниже, чем у некоторых других бесплатных компонентов построения диаграмм. См. Эту статью о сравнении производительности компонента диаграммы - она ​​была написана со сравнением версий Silverlight, но, по моему опыту, она применима и к WPF. Использование Visiblox, DD3 или Visifire, вероятно, значительно улучшит производительность ваших графиков. (Полное раскрытие: я принимал участие в разработке в Visiblox)

...