ComboBox项的自定义项模板

时间:2015-01-02 21:24:49

标签: c# wpf xaml data-binding combobox

我有以下XAML看起来就像我希望它看起来一样。它基本上是一个带有复选框和一些文本的下拉菜单。

<ComboBox x:Name="comboBox">
  <ComboBoxItem><CheckBox>WeeHee</CheckBox></ComboBoxItem>
  <ComboBoxItem><CheckBox>BuuHuu</CheckBox></ComboBoxItem>
</ComboBox>

然后我了解到可以动态调整选项,因此我更改了标记并将组合框绑定到数组。这非常有效功能性但现在我只获得选项的名称,而复选框已经消失。

<ComboBox x:Name="comboBox" 
          ItemsSource="{x:Static local:MainWindow.AllKinds}">
</ComboBox>

所以我正在寻找一种方法来创建一个自定义项目,用于填充组合框但仍然,以便动态绑定数据。我假设WPF / XAML支持这样的功能,而我太无知了解谷歌的用途。

所以我的请求是一个基本的例子建议谷歌的用途。 (对我来说,除了我之外,每个人都可能看起来很明显。)

1 个答案:

答案 0 :(得分:1)

因此,大多数从ItemSource提供东西的控件都有一个漂亮的内置功能,允许您指定每个项目的外观/行为等等。因此,您可以在ComboBox中指定每个项目&#39;通过设置自己的ItemTemplate。

由于ComboBox只使用ItemsControl列出其项目,您可以通过ComboBox.ItemTemplate使用它来制作您喜欢的项目,在这种情况下可能类似(伪)。

<ComboBox>
  <ComboBox.ItemTemplate>
    <DataTemplate>
       <CheckBox>
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>

希望这会有所帮助,当你想开始在wpf,silverlight,wp,win-rt等之间开始自定义项目生成列表时,它会提供一些非常方便的信息。干杯!

相关问题