Продолжая пытаться понять это, я наткнулся на этот лакомый кусочек информации со следующей страницы библиотеки MSDN:
http://msdn.microsoft.com/en-us/library/dd456711(v=vs.100).aspx
«ПРИМЕЧАНИЕ. Вы не можете настроить отдельные элементы легенды и ячейки в коллекции Chart.Legends. Чтобы настроить их, используйте пользовательские элементы легенды».
Итак, вернемся к маршруту CustomItem. Я получил этот код из нескольких источников (включая вас, Доминик, спасибо):
chartSel.Legends.Add(ySeries.Name);
chartSel.Series[ySeries.Name].IsVisibleInLegend = false;
chartSel.Legends[ySeries.Name].CustomItems.Clear();
LegendItem li = new LegendItem();
li.ImageStyle = LegendImageStyle.Line;
li.Cells.Add(LegendCellType.SeriesSymbol, "", ContentAlignment.TopLeft);
li.Cells[0].BackColor = Color.CornflowerBlue; //color is only to see the cell bounds
li.Cells.Add(LegendCellType.Text, ySeries.Name, ContentAlignment.TopLeft);
li.Cells[1].BackColor = Color.Aquamarine; //color is only to see the cell bounds
chartSel.Legends[ySeries.Name].CustomItems.Add(li);
Из того, что я могу найти, это должно работать, но это не так. В результате получается объект легенды с двумя ячейками; первый пуст, а второй имеет выровненный по левому краю текст. Я пытался разместить его изображение, но система говорит, что я еще не достоин.
Почему нет строки для символа серии, тоже загадка, но это еще одна проблема, которую нужно решить. В настоящее время меня больше всего беспокоит проблема выравнивания текста. Похоже, что текст в ячейках выровнен по левому краю по желанию, но сами ячейки центрированы в объекте легенды; не то, что я хотел. Я хочу, чтобы эти ячейки также были выровнены по левому краю в объекте, поэтому первая ячейка находилась напротив левого края объекта легенды.
Идеи?
person
user1750310
schedule
16.10.2012