Я хочу показать в WrapPanel список изображений. Как я могу это сделать или, возможно, я буду использовать другой элемент управления?
Как установить список источников WrapPanel?
Ответ 1
Вы можете абсолютно использовать WrapPanel для отображения списка изображений, прокручивая по вертикали или по горизонтали. Чтобы получить эффект панорамной плитки, например, в центре People с вашими изображениями, вы можете сделать что-то вроде этого:
<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.
Надеюсь, это поможет!
Ответ 2
Да определенно не WrapPanel, у него нет ItemsSource, он не может взять список. Используйте ListBox, и вы можете установить ItemsSource.
Edit
Ответ 3
Ищите то же самое и натолкнулись на это: Отображение коллекции предметов в 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>
или вы можете использовать Xceed SwitchPanel.