すべてのグループ名 (contact_grname) をコンボボックスに表示したいのですが、項目が 1 つしか表示されません! 何故ですか ?!
<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 だけが表示されます (1 回)。コンボボックスで TeleView の代わりに StaticResource TeleData を使用すると、すべてのグループ名が表示されます (ただし、そのようにグループ化されていないため、値が double になります)
コンボボックスで期待される出力:
- グループ1
- グループ2
今私は(TeleViewで)持っています:
- グループ1
Teledata を使用する場合:
- グループ1
- グループ1
- グループ2