Combobox具有静态和动态数据

时间:2012-10-03 16:10:33

标签: wpf binding combobox

我想创建一个绑定到动态资源的组合框,并且有一个自定义xaml预先指定的列表,它位于顶部。我知道如何将组合框绑定到动态资源,

<ComboBox Name="comboBox1" Width="Auto" ItemsSource="{Binding}" />

我知道如何插入静态项目(参见WPF - add static items to a combo box)。

<ComboBox Text="Is not open"> 
  <ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
  <ComboBoxItem Name="cbi2">Item2</ComboBoxItem>     
  <ComboBoxItem Name="cbi3">Item3</ComboBoxItem> 
</ComboBox> 

但我不知道如何同时做两件事?

注意:显然,使用自定义小部件等有很多不同的方法可以做到这一点,我觉得这应该很容易。

1 个答案:

答案 0 :(得分:12)

CompositeCollection非常酷。像这样:

<ComboBox>
    <ComboBox.ItemsSource>
        <CompositeCollection>
            <CollectionContainer Collection="{Binding Source={...whatever...}" />
            <ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
            <ComboBoxItem Name="cbi2">Item2</ComboBoxItem>
            <ComboBoxItem Name="cbi3">Item3</ComboBoxItem>
        </CompositeCollection>
    </ComboBox.ItemsSource>
</ComboBox>