У вас нет a List<News>
- у вас просто есть группировка . Если вы хотите List<News>
, вам нужно изменить свой запрос, например,
var groupedNewsList = from e in events
group e by e.StoryDate.Year into g
select new { Year = g.Key, Events = g.ToList() };
Обратите внимание, что если вы используете C # 4, вы могли бы сделать отражение гораздо проще, набрав dynamic
:
dynamic data = e.Item.DataItem;
string year = data.Year.ToString();
List<News> newsList = data.Events;
В качестве альтернативы, вы могли бы в первую очередь избежать использования анонимного типа - создайте свой собственный тип GroupedNewsList
со свойствами Year
и Events
, заполните его в своем запросе, а затем приведите к нему в обработчике событий.