Многостолбцовый список - PullRequest
0 голосов
/ 31 октября 2011

Мне нужно создать список в следующем формате;

[x]    [x]   ^
[x]    [x]   |
[x]    [x]   | ----> this is a side scroll and the [x] are pictures
[x]    [x]   |

Как я могу это сделать? Вот мой код сейчас.

      <controls:PanoramaItem Header="New one"  Name="Pan1" >
                <ListBox Margin="0,0,-12,0" x:Name="NewTitlesListBox" 
                         ItemsSource="{Binding NewPicturesLocal}" 
                         SelectionChanged="NewListBoxSelectionChanged">

                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="0,0,0,20">
   <Image  Width="110" CacheMode="BitmapCache" Source="{Binding ThumbURL}" 
                                    Margin="12,0,9,0"/>

                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </controls:PanoramaItem>

Результат этого:

[x]   ^
[x]   |
[x]   | ----> this is a side scroll and the [x] are pictures
[x]   |

Я пытался сделать это с помощью Grid (добавив больше столбцов) и с помощью шаблонов данных, но не нашел решения.

Ответы [ 2 ]

4 голосов
/ 01 ноября 2011

Использование WrapPanel из набора инструментов Silverlight будет решением моего вопроса

      <controls:PanoramaItem Header="New one"  Name="Pan1" >
                <ListBox Margin="0,0,-12,0" x:Name="NewTitlesListBox" 
                         ItemsSource="{Binding NewPicturesLocal}" 
                         SelectionChanged="NewListBoxSelectionChanged">

                <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <toolkit:WrapPanel />
                </ItemsPanelTemplate>
                </ListBox.ItemsPanel>

                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="0,0,0,20">
   <Image  Width="110" CacheMode="BitmapCache" Source="{Binding ThumbURL}" 
                                    Margin="12,0,9,0"/>

                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </controls:PanoramaItem>
2 голосов
/ 31 октября 2011

Простым решением было бы использование WrapPanel из набора инструментов Silverlight: WrapPanel для WP7 . Вы должны установить ItemsPanelTemplate для вашего ListBox, чтобы использовать WrapPanel. Пример этого есть в комментариях на странице, на которую я ссылаюсь.

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