2017-04-25 61 views
-1

我不得不做出这样的表WPF的Datagrid,收集行

Table to make

第一列是月数, 第二列是天数, 第三列是天数。

和接下来的31列是十进制值。

所以我想这个绑定值的列表,所以我的WPF将是这样的:

<Grid> 

<DataGrid AutoGenerateColumns="False"> 

    <DataGrid.Columns> 


       <DataGridTextColumn Header="Month" Binding="{Binding Month}"/> 
       <DataGridTextColumn Header="NumberOfDays" Binding="{Binding NumberOfDays}"/> 
       <DataGridTextColumn Header="NumberOfHours" Binding="{Binding NumberOfHours}"/> 


       //so here I`d like to have collection to 31 columns 




    </DataGrid.Columns> 


</DataGrid > 
</Grid> 

任何想法如何做呢?

当然,我可以使用网格并生成文本块,但这种解决方案似乎是非优雅的。

我想要做insect datagrid或类似的。

+0

使它们与“Month”,“NumberOfDays”......列完全相同 – ASh

回答

0

你可以通过编程生成栏目:

for (int i = 1; i< 32; ++i) 
{ 
    dg.Columns.Add(new DataGridTextColumn() { Header = i.ToString(), Binding = new Binding("Day" + i.ToString()) }); 
} 

或者你可以在你的XAML标记定义它们:

<DataGrid.Columns> 
    <DataGridTextColumn Header="Month" Binding="{Binding Month}"/> 
    <DataGridTextColumn Header="NumberOfDays" Binding="{Binding NumberOfDays}"/> 
    <DataGridTextColumn Header="NumberOfHours" Binding="{Binding NumberOfHours}"/> 
    <DataGridTextColumn Header="1" Binding="{Binding Day1}"/> 
    <DataGridTextColumn Header="2" Binding="{Binding Day2}"/> 
    //and so on 
</DataGrid.Columns> 

你需要每天增加一个公共财产(第1天,第2天等)到定义了Month,NumberOfDaysNumberOfHours属性的类别。