把List<Dictionary<, >>绑定到DataGrid的ItemsSource。
XAML:
<data:DataGrid x:Name="dataGrid"/>
c#:
var list = new List<Dictionary<string, string>>();
for (var i = 0; i < 5; i++)
{
var dict = new Dictionary<string, string> { { "苹果", (i * 5).ToString() }, { "香蕉", (i * 5).ToString() }, { "橘子", (i * 5).ToString() } };
list.Add(dict);
}
var first = list.First();
var dataGrid = new DataGrid {AutoGenerateColumns = false};
foreach (var node in first)
{
dataGrid.Columns.Add(new DataGridTextColumn { Header = node.Key, Binding = new Binding(string.Format("[{0}]",node.Key)) });
}
dataGrid.ItemsSource = list;