Devexpress DXCharts (actualizar, actualizar, borrar) nueva instancia?

Estoy usando wpf y C# con las bibliotecas de DevExpress de terceros. Estoy teniendo un problema con DXCharts. He intentado algunas cosas diferentes para borrar o actualizar el gráfico en vano. Estoy enlazando datos a una tabla de datos (construida sobre la marcha) con una propiedad de dependencia para el origen de datos.

Las propiedades de dependencia para el gráfico no parecen anularse cuando se establecen nuevos datos en la propiedad de respaldo. Esto me da puntos de superposición en el gráfico. Como se puede ver en los ejemplos a continuación.

1st Set of Data 1st set of Data Points

2nd Set of Data 2nd set of Data Points

También intenté crear nuevas instancias del control Chart y sigue mostrando las antiguas propiedades de dependencia vinculadas. El control de usuario DXchart está incrustado en un control de contenido. Enlace el gráfico a través de una propiedad de contenido. Todo esto está anidado bajo un control de pestaña DevExpress.

Aquí está algo del código abajo:

Propiedades de dependencia

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

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

Propiedades de respaldo

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



    
        
            
                
                    
                        
                    
                
            
            
                
            
        
    

Porción de ventana principal pequeña


                    
                

Si alguien tiene alguna idea, la apreciaría mucho. ¡Gracias por adelantado!

0
Descubrí el problema que no estaba relacionado con las propiedades de dependencia. Tenía datos obsoletos pegados en un conjunto de datos que se estaba migrando a la nueva tabla de datos. Acabo de crear una nueva instancia y todo está bien.
agregado el autor rreeves, fuente

2 Respuestas

rreeves es correcto Una solución simple para mí fue envolver mi DXChartControl en un segundo ContentControl. En lugar de vincularse directamente al ChartControl, deje que un ContentControl interno entregue el enlace al ChartControl, de esa manera, cuando se cambia el contenido, el ContentControl genera una nueva instancia a través del ContentTemplate.

    
        
         
    

A continuación, puede volver a compilar el gráfico en el DataContextChanged.

¡Espero que esto ayude!

2
agregado

Terminé eliminando el viejo objeto gráfico y creando uno nuevo. Este es el comportamiento previsto de los gráficos por DevExpress.

0
agregado