WPF DataGrid 数据绑定之"List配合Dictionary"

WPF 的DataGrid是WPF中最为强大的控件之一,可以通过各种方式绑定

例如通过最为形似的dataTable来绑定

本文则用List<Dictionary<K,V>>来绑定

   DataGrid data_grid = new DataGrid();
            List<Dictionary<String, String>> list_dic = new List<Dictionary<String, String>>
                  {
                     new Dictionary<String,String>()
                     {
                         {   "可用资金","1000.0"},
                         {   "可取资金", "958.0" },
                         {   "手续费", "1.68"},
                     },
                      new Dictionary<String,String>()
                     {
                         {   "可用资金","1100.0"},
                         {   "可取资金", "1958.0" },
                         {   "手续费", "31.68"},
                     },
                  };
            foreach (var node in list_dic.First())
            {
                data_grid.Columns.Add(new DataGridTextColumn { Header = node.Key, Binding = new Binding(string.Format("[{0}]", node.Key)) });
            }
            data_grid.AutoGenerateColumns = false;  //去掉多余列
            data_grid.CanUserAddRows = false; //去掉多余行
            data_grid.ItemsSource = dic;

效果:

 

其实list这一层代表了datagrid中的行,list有多少个元素就代表有多少行。

而每行中的Dic<K,V>代表了那一行的数据,K代表表头,如可用资金,V代表值 ,

因为表头往往是固定的,所以每一个dic的K也要一 一对应。。

 

posted @ 2018-11-26 14:21  birdhumen鸟人  阅读(1464)  评论(0编辑  收藏  举报