Jak przekonwertować ComboBox, aby użyć powiązanego CompositeCollection?

Mam ComboBox, który ma powiązane źródło przedmiotów ... Rozebrałem mój przykład do kluczowych elementów:

<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>

To działa, ale teraz chcę dodać pojedynczy element ręczny do mojego comboboxu, który wywoła alternatywną funkcjonalność o nazwie „Other ...”, więc muszę przejść do korzystania z CompositeCollection ... tak:

<ComboBox Name="Options"
          DataContext="ClientsCollection">
    <ComboBox.ItemsSource>
        <CompositeCollection>

            <CollectionContainer Collection="{Binding [ClientNumber], Converter={StaticResource ClientOptions} />
            <ComboBoxItem>Other...</ComboBoxItem>
        </CompositeCollection>
</ComboBox>

Spróbuj, jak tylko mogę, powiązane elementy po prostu nie zapełnią się podczas korzystania z CompositeCollection. Pokazuje tylko instrukcję ComboBoxItem „Inne ...”. Jeśli usunę ten element, lista będzie pusta. Jeśli dołączę punkt przerwania do konwertera, to niczego nie złapie, co wydaje się wskazywać, że wiązanie nie jest nawet próbowane.

Oczywiście nie rozumiem czegoś o tym, jak działa funkcja wiązania w CompositeCollection. Czy ktoś może zobaczyć błąd w moim XAML lub wyjaśnić, czego mi brakuje?

questionAnswers(1)

yourAnswerToTheQuestion