Как настроить WrapPanel itemsource в список? - PullRequest
12 голосов
/ 24 ноября 2011

Я хочу показать в WrapPanel список изображений. Как я могу это сделать или, может быть, я буду использовать другой контроль?

Ответы [ 3 ]

23 голосов
/ 25 ноября 2011

Вы можете абсолютно использовать WrapPanel для отображения списка изображений с прокруткой по вертикали или горизонтали. Чтобы получить эффект панорамной плитки, как в Центре людей с вашими изображениями, вы можете сделать что-то вроде этого:

       <controls:PanoramaItem Header="something" Orientation="Horizontal" Margin="0,-15,0,0" >                
            <ListBox Name="SomeList" Margin="0,0,-12,0" ItemsSource="{Binding SomeItemsList}" >
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <toolkit:WrapPanel x:Name="wrapPanel" Width="700" />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,17">                                
                            <Image Height="200" Width="200" Margin="12,0,9,0" Source="{Binding ImageURL}" />                                
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </controls:PanoramaItem>

Обратите внимание, что WrapPanel внутри ListBox действительно выбирает определенный вами DataTemplate ... так что вы имеете полную свободу связывать любой список с вашей WrapPanel.

Надеюсь, это поможет!

3 голосов
/ 12 января 2018

Ищите то же самое и сталкивались с этим: Отображение коллекции предметов в WrapPanel .

<ItemsControl ItemsSource="{Binding ActorList}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Image Source="{Binding Image}" Height="100"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

или вы можете использовать SwitchPanel Xceed .

2 голосов
/ 24 ноября 2011

Да, определенно не WrapPanel, у него нет ItemsSource, он не может получить список.Используйте ListBox, и вы можете установить ItemsSource.

Редактировать

enter image description here

...