wpf Datagrid绑定 Dictionary
原文网址: https://www.cnblogs.com/zany-hui/articles/7623874.html
数据源格式:Dictionary<int, List<string>>
1.通过xaml设置

<DataGrid x:Name="dg" ItemsSource="{Binding Dic}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="id" Binding="{Binding Key}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Value[0]}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Value[1]}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Value[2]}"/>
</DataGrid.Columns>
</DataGrid>
1 <DataGrid x:Name="dg" ItemsSource="{Binding Dic}" AutoGenerateColumns="False"> 2 <DataGrid.Columns> 3 <DataGridTextColumn Header="id" Binding="{Binding Key}"/> 4 <DataGridTextColumn Header="Name" Binding="{Binding Value[0]}"/> 5 <DataGridTextColumn Header="Name" Binding="{Binding Value[1]}"/> 6 <DataGridTextColumn Header="Name" Binding="{Binding Value[2]}"/> 7 </DataGrid.Columns> 8 </DataGrid>
2.通过代码设置
DataGridTextColumn column = new DataGridTextColumn();
column.Header = "name4";
column.Binding = new Binding("Value[3]");
dg.Columns.Add(column);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<DataGrid x:Name= "dg" ItemsSource= "{Binding Dic}" AutoGenerateColumns= "False" > <DataGrid.Columns> <DataGridTextColumn Header= "id" Binding= "{Binding Key}" /> </DataGrid.Columns> </DataGrid> private Dictionary< int , List< string >> dic; public Dictionary< int , List< string >> Dic { get { return dic; } set { dic = value; } } public MainWindow() { InitializeComponent(); this .DataContext = this ; Dic = new Dictionary< int , List< string >>(); Dic.Add(1, new List< string > { "a" , "b" , "c" , "5" }); Dic.Add(2, new List< string > { "d" }); Dic.Add(3, new List< string > { "e" , "f" }); int count = 0; foreach (List< string > 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; } } } |
分类:
WPF 知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2020-12-01 sql 中的with 语句使用
2020-12-01 LINQ标准查询操作符(二)——Join、GroupJoin、GroupBy、Concat、
2020-12-01 C# where用法