Devexpress DXCharts (обновить, обновить, очистить) новый экземпляр?

Я использую wpf и C# с сторонними библиотеками DevExpress. У меня проблема с DXCharts. Я пробовал несколько разных вещей, чтобы очистить или обновить график безрезультатно. Я привязываю данные к таблице данных (построенной на лету) с свойством зависимости для источника данных.

Свойства зависимостей для диаграммы, похоже, не переопределяются, когда для новых данных задано свойство backing. Это дает мне оверлейные точки на графике. Как вы можете видеть в приведенных ниже примерах.

1st Set of Data 1st set of Data Points

2nd Set of Data 2nd set of Data Points

Я также попытался создать новые экземпляры элемента управления Chart и по-прежнему показывать старые свойства зависимых привязок. Пользовательское управление DXchart встроено в Content Control. Я привязываю Chart через свойство content. Все это вложено под элементом управления вкладкой DevExpress.

Вот некоторые из приведенного ниже кода:

Свойства зависимостей

public static readonly DependencyProperty DataTableChartProperty = DependencyProperty.Register
        ("DataTableChart", typeof(DataTable), typeof(MainWindowViewModel));

public static readonly DependencyProperty ContentElementProperty = DependencyProperty.Register
        ("ContentElement", typeof(FrameworkElement), typeof(MainWindowViewModel));

Свойства резервного копирования

public DataTable DataTableChart
    {
        get { return (DataTable)this.GetValue(DataTableChartProperty); }
        set { this.SetValue(DataTableChartProperty, value); }

public FrameworkElement ContentElement
    {
        get { return (FrameworkElement)this.GetValue(ContentElementProperty); }
        set { this.SetValue(ContentElementProperty, value); }
    }

<�Сильный> UserControl



    
        
            
                
                    
                        
                    
                
            
            
                
            
        
    

Малый участок MainWindow


                    
                

Если у кого-то есть какие-то идеи, я был бы очень признателен. Заранее спасибо!

0
Я понял, что проблема полностью не связана с свойствами зависимостей. У меня были устаревшие данные, вставляемые в набор данных, который переносился в новый datatable. Я только что создал новый экземпляр, и все хорошо.
добавлено автор rreeves, источник

2 ответы

правители правильны. Простым обходным решением для меня было обернуть мой DXChartControl во втором ContentControl. Вместо того, чтобы напрямую связываться с ChartControl, пусть внутренняя ContentControl связывает привязку с ChartControl, таким образом, при изменении содержимого ContentControl генерирует новый экземпляр через ContentTemplate.

    
        
         
    

Затем вы можете восстановить таблицу в DataContextChanged.

Надеюсь это поможет!

2
добавлено

Я закончил удаление старого объекта построения и создания нового. Это намеченное поведение диаграмм на DevExpress.

0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot