C# 以自定义组合框样式更改ItemsPresenter以显示彼此相邻的项目

C# 以自定义组合框样式更改ItemsPresenter以显示彼此相邻的项目,c#,wpf,xaml,windows-phone-8.1,C#,Wpf,Xaml,Windows Phone 8.1,我希望ComboBox包含作为项目的图像(它们将以编程方式添加)。在默认组合框中,它们垂直显示。我想让它们像VariableSizedWrapGrid那样显示,但我不确定该怎么做。 我有一个用于组合框样式的ItemsPresenter,但将其更改为任何其他样式都不会显示任何内容 或者我应该换一种方式(使用ListView?)。我希望选中的项目显示在组合框中,然后单击一次显示的所有项目(大约25个) 现在的样子: 我想要的是: 更改ItemsPanel属性: <ComboBox>

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

或者我应该换一种方式(使用ListView?)。我希望选中的项目显示在组合框中,然后单击一次显示的所有项目(大约25个)

现在的样子:

我想要的是:


更改
ItemsPanel
属性:

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


如果您想使用类似于
VariableSizedWrapGrid
的东西,您可以创建自己的实现或查看其他人的工作,例如:。

我做了一些研究,似乎不可能实现我想要的。我只想用另一种方式来获得我想要的东西(里面有弹出按钮和ListView的按钮应该可以工作)。

不幸的是,它不工作(是的,我已经将方向更改为“水平”)。我想知道这是否是因为ComboBox正在使用UserControl和它内部的ItemsPresenter造成的。