Combobox CompositeCollection

时间:2012-03-21 04:18:24

标签: wpf xaml data-binding combobox

我想要两个带有空元素集合的组合框。

我使用两个组合框:

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

请告诉我该怎么做?

祝你好运!

1 个答案:

答案 0 :(得分:0)

您不能在两个ComboBoxItem中使用相同的ComboBoxes,错误也应该非常明确:如果您向ComboBoxItem添加ComboBoxItemTemplate 1}}已定义,不会应用于ComboBoxItem,因为它已经具有所创建容器的类型。根据您的需要,此错误可能是也可能不是问题。

如果你想使用两个ComboBoxes的集合,你应该添加一个string,或者你想要一个更复杂的类的实例(它应该有一个隐含的DataTemplate与之相关的)。不要直接添加ComboBoxItem