以自定义ComboBox样式更改ItemsPresenter以显示彼此相邻的项目

时间:2015-11-21 15:20:20

标签: c# wpf xaml windows-phone-8.1

我希望 ComboBox 将图像包含为项目(它们将以编程方式添加)。在默认的 ComboBox 中,它们是垂直显示的。我想让它们像 VariableSizedWrapGrid 一样显示,但我不确定如何做到这一点。 我有 ItemsPresenter 用于 ComboBox 样式,但将其更改为任何其他内容都不会显示任何内容。

或许我应该以其他方式(使用ListView?)。我想在 ComboBox 中显示所选项目,然后点击一次显示的所有项目(大约25)。

现在的样子:

enter image description here

我想要的是什么:

enter image description here

2 个答案:

答案 0 :(得分:0)

更改ItemsPanel属性:

<ComboBox>
    <ComboBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel/>
        </ItemsPanelTemplate>
    </ComboBox.ItemsPanel>
</ComboBox>

如果您想使用VariableSizedWrapGrid之类的内容,您可以创建自己的实施或查看其他人的工作,例如:VariableSizedWrapGrid for WPF

答案 1 :(得分:0)

我做了一些研究,似乎无法实现我想要的目标。我只是采用另一种方式来获得我想要的东西(按钮,其中包含 Flyout ListView 应该可以完成工作)。