Итак, я работаю над созданием редактора WPF TeeChart, но у меня возникают некоторые проблемы с попыткой изменить тип серии на диаграмме с использованием статического метода:
Steema.TeeChart.WPF.Styles.Series.ChangeType(ref Series s, Type newType)
TeeChart WPF - проблемы с выпуском серии - листы оригинала, стили смешивания
оригинальная идея код:
//user has selected a sample chart showing the Series Type they want
Type targetType = selectedChart.Series[0].GetType();
//SelectedItems contains Series objects already on a chart
for (int i = 0; i < SelectedItems.Count; i++)
{
Series sS = (Series) SelectedItems[i];
Series.ChangeType(ref sS, targetType);
}
при выполнении приведенного выше кода, мой график заканчивается двумя сериями: оригинал и новой серии, которая некоторое сочетание оригинала и цель.
Например, если я поставил на диаграмме число точек с четырьмя случайными значениями, то запустите приведенный выше код с единственной вещью в SelectedItems, являющейся только что созданной группой точек, моя диаграмма имеет новую серию типа Line, но с точечными маркерами на нем, а также с исходными точками.
Я изменил приведенный выше код, чтобы удалить дубликаты, тогда я понял, что что-то удаляло другие элементы из коллекции SelectedItems. Ниже приведен последний код, который удаляет исходную серию, а также работает, когда несколько рядов находятся в коллекции SelectedItems.
//Added List to keep selected items since they were being lost
List<Series> selected = new List<Series>(SelectedItems.Count);
for (int x = 0; x < SelectedItems.Count; x++)
selected.Add((Series) SelectedItems[x]);
for (int i = 0; i < selected.Count; i++)
{
Series sS = selected[i];
int cI = chart.Series.IndexOf(sS); //added to track index in chart
Series.ChangeType(ref sS, targetType);
//The following line ensures overwite of original Series in chart
// since new Series is being created inside above method
chart.Series[cI] = sS;
//finally, remove original Series from chart
chart.Series.Remove(selected[i]);
}
Это исправляет проблему с ней, оставляя исходный серии на графике, но я до сих пор не могу понять, почему стиль серии становится какая-то странная смесь оригинала и целевой серии Тип.
Есть что-то, чего я не вижу или не замечаю в своем подходе? Есть ли лучший способ позвонить, чтобы изменить тип серии? Мне не удалось найти какую-либо полезную информацию в документации TeeChart.
Я не думаю, что это поведение предназначено, потому что, когда я сравниваю вывод, который я получаю от этого метода с помощью редактора WinForms TeeChart Editor, версия WinForms не смешивает стили Series.