线程返回值拆箱后ItemSource绑定的有关问题

线程返回值拆箱后ItemSource绑定的问题
WPF应用程序

开了一个BackgroundWorker用于后台运算,
运算结果为Entity的查询结果,将结果转换为匿名List对象赋值到 e.result上。

                    //取得有效数据
                    var step1 = from p in DBContent.dailyData                                
                                select p;

                    //按照日期分类合计
                    var step2 = from p in step1
                                group p by p.tdate into g
                                select new {date = g.Key, count = g.Count() };

                    //设定返回值
                    e.Result = step2.ToList();   


在线程调用方接收完成消息,并将结果绑定到柱状图上

        void bkWork_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            var result = e.Result;
            if (result != null)
            {
                ColumnSeries CS = new ColumnSeries();
                CS.ItemsSource = result;
                CS.IndependentValueBinding = new System.Windows.Data.Binding("date");
                CS.DependentValueBinding = new System.Windows.Data.Binding("count");
                chartView.Series.Add(CS);
            }

        }


现在的问题是,如果直接把ItemSource设置为匿名List的话,
会报 无法将类型“System.Windows.Documents.List”隐式转换为“System.Collections.IEnumerable” 这个错误

但是我不知道该怎么转换为 IEnumerable对象。
打断点的话,可以看到e.Result 的类型为:System.Collections.Generic.List<<>f__AnonymousType1<string,int>>
且可以看到实际的数据  [0] { date = "20130911", count = 57604 } <Anonymous Type>

但是就不知道怎么才能赋值到 ItemSource上。



------解决方案--------------------
试试这样行不行:
1、定义一个类:
public class MyTestType
{
    public DateTime date { get; set; } //假设是DateTime
    public Int32 count { get; set; }  //假设是Int32
}

2、匿名List改为:
var step2 = from p in step1
            group p by p.tdate into g
            select new MyTestType { date = g.Key, count = g.Count() };

------解决方案--------------------
以前曾经试过绑定到动态类型上(ExpandoObject),结果发现获取不到绑定数据。
如果你希望灵活的话,可以Select成Dictionary<string,object>代替匿名类试试。
------解决方案--------------------
IEnumerable集合不能ToList() ?