2017-04-25 53 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屬性的類別。