I have a view model with a property that exposes a collection of things. I have a ComboBox whose ItemsSource property is bound to this collection. Now the user can select from the list.
I want to allow the user to clear the selection, so I want to add an item (that is Null) to ComboBox. It's pretty straightforward.
I decided to try and use a CompositeCollection for the ItemsSource so that I could add the items in the existing list to the ComboBox as well as the extra Null item.
After fighting with this for a while I decided to return to the documentation on the CompositeCollection Class. I copied their example and the modified it to use a view model instead of Static Resources.
I discovered that no items show up in the list when I bind the CollectionContainer to the list exposed by the ViewModel.
I'm not sure how to get around this problem and I'm looking for any advice on this topic.
Here is my XAML code:
<Window Background="CornflowerBlue" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:TryingWPF" x:Class="CompositeCollections" Title="CompositeCollections" SizeToContent="WidthAndHeight">
<Window.Resources>
<c:CompositeCollectionVM x:Key="CompositeCollectionVM"/>
<XmlDataProvider x:Key="GreekHeroesData" XPath="GreekHeroes/Hero">
<x:XData>
<GreekHeroes xmlns="">
<Hero Name="Jason" />
<Hero Name="Hercules" />
<Hero Name="Bellerophon" />
<Hero Name="Theseus" />
<Hero Name="Odysseus" />
<Hero Name="Perseus" />
</GreekHeroes>
</x:XData>
</XmlDataProvider>