2012-03-21 4 views
0

Я хочу два comboboxes с коллекцией с пустым элементом.Combobox CompositeCollection

Пользуюсь два выпадающие списки с:

<ComboBox x:Name="itemEditPageComboBox" 
    ... 
    ItemsSource="{StaticResource ItemsColl}" 
.... 
/> 
Collections: 
<CompositeCollection x:Key="ItemsColl"> 
    <ComboBoxItem Content="" /> 
<CollectionContainer Collection="{Binding Source={StaticResource ElementsCollection}}" /> 
</CompositeCollection> 

<CollectionViewSource x:Key="ElementsCollection" Source="{Binding Path=...}" /> 

поведение

Секвенциально выбрать два выпадающие списки, после него - один из них удаляется пустой элемент.

Ошибка:

System.Windows.Data Error: 26 : ItemTemplate and ItemTemplateSelector are ignored for items already of the ItemsControl's container type; Type='ComboBoxItem' 

Скажите, пожалуйста, что делать?

С уважением!

ответ

0

Вы не можете использовать один и тот же ComboBoxItem в двух ComboBoxes, также ошибка должна быть совершенно ясно: если вы добавляете ComboBoxItem к ComboBox, который имеет ItemTemplate определено, что не будет применяться к этому ComboBoxItem, потому что он уже имеет тип созданных контейнеров. Эта ошибка может быть или не быть проблемой, в зависимости от того, что вы хотите.

Если вы хотите использовать коллекцию для двух ComboBoxes вы должны добавить string или если вы хотите что-то более сложный экземпляр класса (который, вероятно, следует иметь неявный DataTemplate, связанный с ним). Не добавляйте напрямую ComboBoxItem.

Смежные вопросы