Как мне преобразовать ComboBox, чтобы использовать связанную CompositeCollection?
У меня есть ComboBox, у которого есть источник связанных элементов ... Я разобрал свой пример до ключевых частей:
<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>
Это работает, но теперь я хочу добавить в свой комбинированный список один элемент ручного управления, который будет вызывать альтернативную функцию под названием & quot; Другое ... & quot; поэтому мне нужно перейти к использованию CompositeCollection ... вот так:
<ComboBox Name="Options"
DataContext="ClientsCollection">
<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding [ClientNumber], Converter={StaticResource ClientOptions} />
<ComboBoxItem>Other...</ComboBoxItem>
</CompositeCollection>
</ComboBox>
Попробуйте, как я мог бы, связанные элементы просто не заполнятся при использовании CompositeCollection. Это только показывает руководство ComboBoxItem & quot; Другое ... & quot ;. Если я удалю этот элемент, список будет пустым. Если я присоединяю точку останова к преобразователю, он ничего не перехватывает, что, по-видимому, указывает на то, что привязка даже не предпринималась.
Я явно не понимаю что-то о том, как происходит функция привязки в CompositeCollection. Может ли кто-нибудь увидеть ошибку в моем XAML или объяснить, что мне не хватает?