Combobox Dropdown, как галерея изображений - PullRequest
1 голос
/ 27 января 2012

У меня есть 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 ]

3 голосов
/ 27 января 2012

Это похоже на работу, хотя я не пробовал это с изображениями:

<ComboBox Height="20" Width="100">
    <ComboBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Width="150" />
        </ItemsPanelTemplate>
    </ComboBox.ItemsPanel>
</ComboBox>
1 голос
/ 27 января 2012

попробуйте

<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"/>

у меня все работало нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...