在WPF中绑定和显示字典的字典

本文关键字:字典 显示 绑定 WPF | 更新日期: 2023-09-27 18:05:36

我有一个字典的字典,我想在数据网格中显示。

var data = new Dictionary<KeyTypeA, Dictionary<KeyTypeB, string>>();

"内部"字典都共享给定KeyTypeB集合的相同键,这些键应该成为行标题。

这个问题与这个SO问题有关,但不同的是,直到运行时我才知道键

在WPF中绑定和显示字典的字典

您可以使用DataGrid并在代码中构建DataGridColumn的集合,如下所示(其中ColumnCollection是ObservableCollection<DataGridColumn>):

foreach ( string columnName in columns )
{
     ColumnCollection.Add( new DataGridTextColumn()
                           {
                               Header = columnName,
                               Binding = new Binding( String.Format( "[{0}]", columnName ) )
                           } );
}

您需要弄清楚如何根据您的字典和类型获得columns集合。

然后,您需要将ColumnCollection绑定到您的DataGrid列(请参阅此SO答案)。