C# 绑定列表<;KeyValuePair<;字符串,列表<;数据表>&燃气轮机&燃气轮机;项目控制wpf
当列表中的键值对项展开时,我需要显示2个数据表。键值对项的键应该是扩展器头。 第一个表应该绑定到第一个数据网格,第二个表绑定到第二个网格。 问题是ItemsControl上的第二个“item”显示的值与第一个相同。 (我的猜测是datagrid的ItemsSource绑定不正确,因为VM正确地生成了ListOfKeyValuePairs的数据。)C# 绑定列表<;KeyValuePair<;字符串,列表<;数据表>&燃气轮机&燃气轮机;项目控制wpf,c#,wpf,binding,itemscontrol,C#,Wpf,Binding,Itemscontrol,当列表中的键值对项展开时,我需要显示2个数据表。键值对项的键应该是扩展器头。 第一个表应该绑定到第一个数据网格,第二个表绑定到第二个网格。 问题是ItemsControl上的第二个“item”显示的值与第一个相同。 (我的猜测是datagrid的ItemsSource绑定不正确,因为VM正确地生成了ListOfKeyValuePairs的数据。) 您的代码工作正常。但是您在值模板中使用的是网格。两项 <DataGrid ItemsSource="{Binding [0]}" />
您的代码工作正常。但是您在
值模板中使用的是网格
。两项
<DataGrid ItemsSource="{Binding [0]}" />
<DataGrid ItemsSource="{Binding [1]}" />
或者使用一个简单的StackPanel
将presentationContraceSources.TraceLevel=High
放入您怀疑的任何绑定中。像这样:{Binding Foo,PresentationTraceSources.TraceLevel=High}
。在调试器中运行程序,并查看在VS中的输出窗格中看到的输出。它将告诉您如何找到绑定的目标——如果失败,它将告诉您找到了什么(如果有)。
<DataGrid ItemsSource="{Binding [0]}" />
<DataGrid ItemsSource="{Binding [1]}" />
<DataGrid Grid.Row="0" ItemsSource="{Binding [0]}" />
<DataGrid Grid.Row="1" ItemsSource="{Binding [1]}" />