将List <datetime>绑定到DataGrid标头</datetime>

时间:2011-06-22 13:30:52

标签: wpf list datetime data-binding datagrid

嗨,我有给定月份的日期列表,我想将此列表绑定到datagrid控件。

这是创建日期列表的方法。

public List<DateTime> DaysOfMonth { get; set; }

public static List<DateTime> GetDates(int year, int month)
{
    return Enumerable.Range(1, DateTime.DaysInMonth(year, month)) 
                     .Select(day => new DateTime(year, month, day)) 
                     .ToList(); 
}


public MainWindow()
{
    InitializeComponent();
    DaysOfMonth = GetDates(DateTime.Now.Year, DateTime.Now.Month);
    DataContext = this;
}

XAML:

    <DataGrid>
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding DaysOfMonth}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid>

我想实现这个目标

enter image description here

1 个答案:

答案 0 :(得分:1)

这看起来你想要从列表中创建列,你可能应该在迭代列表的代码中创建那些列,我也怀疑CellTemplate是你想要设置的,HeaderTemplate似乎是目标。

由于列通常反映DataGrid中项目的属性,这可能不是一个好主意,您的行代表什么?