P: Estoy construyendo un gráfico de barras con una leyenda y quiero que mi leyenda lea los títulos de mi serie. Creé la leyenda y asigné los títulos, así:
myLegend.LabelsSource = new ListAñado y quito series dinámicamente y debo actualizar las etiquetas para la leyenda. ¿Es así como ustedes lo hacen?() { series0.Title, series1.Title };
R: Por lo que vemos en el código usted está utilizando el SeriesLegend. Esto es bueno cuando se quiere crear una leyenda en la que tiene el control completo sobre las etiquetas y brochas para los elementos. En su caso, sin embargo, un mejor enfoque es utilizar el ChartLegend. Con él no establece las brochas y los títulos para los elementos, pero se establece una colección de Series, que provee los datos. Las etiquetas para el ChartLegend son tomadas de la propiedad Title del ChartSeries en el Series. Las brochas para la leyenda son tomadas de la propiedad Fills de ChartSeries en Series. Aquí hay un código de ejemplo:
ChartLegend legend = new ChartLegend(); //assign the Series legend.Series = barChart1.Series; //customize the position of the legend LayoutPanel.SetDock(legend, Dock.Right); legend.VerticalAlignment = System.Windows.VerticalAlignment.Center; barChart1.Legends.Add(legend);