当密钥为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;我知道了:
(采集)。
我该如何解决这个问题?
感谢。
答案 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>