如何在DataGrid WPF中显示SortedDictionary?

时间:2014-08-10 12:01:30

标签: c# wpf datagrid sorteddictionary

当密钥为int且值为sortedDictionary的列表时,我想在dataGrid中显示ClassType,例如value-List的{​​{1}}。< / p>

例如:

Persons

在列中的public MainWindow() { InitializeComponent(); SortedDictionary<int, List<Person>> Sd1 = new SortedDictionary<int,List<Person>>(); Person p1 = new Person("htryh"); Person p2 = new Person("juyik"); List<Person> PL = new List<Person>(); PL.Add(p1); PL.Add(p2); Sd1.Add(1, PL); dt1.ItemsSource = Sd1; } } class Person { public string Name { get; set; } public Person(string name) { Name = name; } } &#34; dataGrid&#34;我看到了int,但是在&#34; Key&#34;我知道了: (采集)。 我该如何解决这个问题? 感谢。

1 个答案:

答案 0 :(得分:0)

在dataGrid上将 AutoGenerateColumns 设置为 False ,并提供您自己的一组列。

<DataGrid x:Name="dt1" AutoGenerateColumns="False" IsReadOnly="True">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Key" Binding="{Binding Key}"/>
        <DataGridTemplateColumn Header="Value">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ComboBox ItemsSource="{Binding Value}"
                                IsSynchronizedWithCurrentItem="True"
                                DisplayMemberPath="Name"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>