予跨越此代碼樣品在TechNet女巫傳來的顯示如何結合單一列標題的標題和其對應的列中的數據:綁定多個數據網格列標題
<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<TextBlock Text="{Binding DataContext.HeaderNameText, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
和數據網格的DataContext設置像這樣:
Data data = new Data();
data.HeaderNameText = "Header2";
data.Items = new List<string>() { "Item1", "Item2" };
DataContext = data;
數據類結構如下:
public class Data
{
public string HeaderNameText { get; set; }
public List<string> Items { get; set; }
}
我的問題是如何綁定在DataGrid的ItemSource到多個列中的數據:
List<Data> data=new List<Data>();
我期待着得到上述列表中的每個數據元素列,因此如何實現這一目標?
如果你要使用的'名單Data'對象,那麼你就會有多個'Items'以及這沒有什麼意義,我。擁有單獨設置值和列標題的對象列表是不是更明智? – Jerrington 2014-11-06 13:58:03
列數是一個變化因素,不能靜態設置(標題標題也是)! – Usama 2014-11-06 14:01:11
你是說同一個'ItemsSource'中的行數不同嗎?或者只是提前未知「ItemsSource」中的列數?如果前者,你將不得不按行/記錄進行管理一組列。 – 2014-11-06 16:29:01