我想在我的组合框中显示所有组名(contact_grname),但只显示一项!这是为什么 ?!
<XmlDataProvider x:Key="TeleData" XPath="/response/contacts/contact">
</XmlDataProvider>
<CollectionViewSource x:Key="TeleView" Source="{StaticResource TeleData}" >
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="contact_name" Direction="Ascending" />
</CollectionViewSource.SortDescriptions>
<CollectionViewSource.GroupDescriptions>
<dat:PropertyGroupDescription PropertyName="contact_grname" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<ComboBox ItemsSource="{Binding Source={StaticResource TeleView}, XPath=contact_grname}" />
我的 xml 文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<response>
<contacts>
<contact>
<contact_grname>group1</contact_grname>
<contact_name>Bart</contact_name>
</contact>
<contact>
<contact_grname>group1</contact_grname>
<contact_name>Eric</contact_name>
</contact>
<contact>
<contact_grname>group2</contact_grname>
<contact_name>Mike</contact_name>
</contact>
</contacts>
</response>
只是 group1 出现了(一次)。当我在组合框中使用 StaticResource TeleData 而不是 TeleView 时,会显示所有组名(但有双精度值,因为没有以这种方式分组)
组合框中的预期输出:
- 组 1
- 组2
现在我有(使用 TeleView):
- 组 1
如果我使用 Teledata:
- 组 1
- 组 1
- 组2