Como faço para converter um ComboBox para usar um CompositeCollection vinculado?
Eu tenho um ComboBox que tem uma fonte de itens ligados ... Eu tirei o meu exemplo para as peças-chave:
<UserControl x.Class="My.Application.ClientControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:My.Utilities.Converters"
Name="ClientControl">
<UserControl.Resources>
<ResourceDictionary>
<CollectionViewSource Key="x:ClientsCollection" />
</ResourceDictionary>
<conv:ClientOptions x:Key="ClientOptions" />
</UserControl.Resources>
...
<ComboBox Name="Options"
DataContext="ClientsCollection"
ItemsSource="{Binding [ClientNumber], Converter={StaticResource ClientOptions}" />
</UserControl>
Isso funciona, mas agora quero adicionar um único item manual à minha caixa de combinação que acionará a funcionalidade alternativa chamada "Outro ...", por isso estou tendo que passar para o uso do CompositeCollection ... assim:
<ComboBox Name="Options"
DataContext="ClientsCollection">
<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding [ClientNumber], Converter={StaticResource ClientOptions} />
<ComboBoxItem>Other...</ComboBoxItem>
</CompositeCollection>
</ComboBox>
Por mais que eu tente, os itens associados não serão preenchidos ao usar o CompositeCollection. Mostra apenas o manual ComboBoxItem "Outros ...". Se eu remover esse item, a lista estará vazia. Se eu anexar um ponto de interrupção ao conversor, ele não detectará nada, o que parece indicar que a ligação não foi sequer tentada.
Obviamente, não estou entendendo algo sobre como a função de ligação na CompositeCollection está acontecendo. Alguém pode ver um erro no meu XAML ou explicar o que está perdendo?