WPF:DataGrid中的Dictionary <int,List >

我有一个Dictionary<int, List> 。 每个ID(int)都有一个相应的动态名称ListList )。

这是Datagrid中的预期输出。

 ID | Name | Name | Name 1 Ash Tina Kara 2 Kc 3 Star Lara 

我该如何实现这一目标?

          

在此处输入图像描述

如果Name不是固定数据,则需要动态添加列,如下所示:

  DataGridTextColumn column = new DataGridTextColumn(); column.Header = "name4"; column.Binding = new Binding("Value[3]"); dg.Columns.Add(column); 

好的,这是我的代码:

       private Dictionary> dic; public Dictionary> Dic { get { return dic; } set { dic = value; } } public MainWindow() { InitializeComponent(); this.DataContext = this; Dic = new Dictionary>(); Dic.Add(1, new List { "a", "b", "c", "5" }); Dic.Add(2, new List { "d" }); Dic.Add(3, new List { "e", "f" }); int count = 0; foreach (List lst in Dic.Values) { if (lst.Count > count) { for (int i = count; i < lst.Count; i++) { DataGridTextColumn column = new DataGridTextColumn(); column.Header = "name" + i; column.Binding = new Binding(string.Format("Value[{0}]", i)); dg.Columns.Add(column); } count = lst.Count; } } } 

但我希望你自己完成它

您是否尝试绑定到字典的Values集合? 将dictionary.Values集合设置为ItemsSource并启用AutoGenerateColumns=True