Combobox Dropdown就像一个图像库

时间:2012-01-27 19:34:20

标签: c# wpf

我有一个Combobox,用户可以在其中选择一个图标。我希望下拉列表显示为图库。

因此,不要在下拉列表中垂直显示每个图标,如:

Combobox
   Image
   Image
   Image
   Image
   Image
   Image
   ...

我希望下拉列表显示为:

Combobox
   Image Image Image Image
   Image Image Image Image
   Image Image Image Image
   Image Image Image Image
   ...

我尝试过:

<ComboBox Height="50" Width="60" ItemsSource="{Binding Path=Icons}">
         <ComboBox.ItemTemplate>
            <DataTemplate>
                <WrapPanel  Orientation="Horizontal" Width="400">
                        <Image Source="{Binding myImage, Converter={StaticResource imageConverter}}" Width="32" Height="32"/>
                </WrapPanel>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

但这似乎没有用,有没有人有任何想法如何去做?

2 个答案:

答案 0 :(得分:3)

这似乎有效,但我没有用图像试过它:

<ComboBox Height="20" Width="100">
    <ComboBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Width="150" />
        </ItemsPanelTemplate>
    </ComboBox.ItemsPanel>
</ComboBox>

答案 1 :(得分:1)

试试这个

<ComboBox Height="50" Width="60" ItemsSource="{Binding Path=Icons}">
     <ComboBox.ItemTemplate>
         <DataTemplate>
             <WrapPanel DataContext="{Binding}"  Orientation="Horizontal" Width="400">
                  <Image Source="{Binding myImage, Converter={StaticResource imageConverter}}" Width="32" Height="32"/>
              </WrapPanel>
          </DataTemplate>
      </ComboBox.ItemTemplate>
</ComboBox>

我假设您在myImage中有一些属性Icons,表示可以通过path image converter >

我尝试了Icon List<String> string代表path of image

的代码。

我在XAML中做到了这一点

<Image Source="{Binding}" Width="32" Height="32"/>

它对我来说很好