Создание кастомного отображения объектов в виде карточек
Всем привет.
Решил заморочиться на счет отображения списка объектов в виде карточек, но что то не получается ничего нагуглить.

Так выглядит окно приложения, идет отображение объектов в ListView
<Grid Grid.Row="0" Margin="5">
<ListView ItemsSource="{Binding Path=Animals}"
SelectedItem="{Binding SelectedAnimal}"
MinWidth="200" MinHeight="200">
<ListView.ItemTemplate>
<DataTemplate>
<controls:AnimalCard MinWidth="200" MinHeight="200"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
Мне хочется что бы объекты располагались в одной строке по очереди и если кончалось место, то переносились на новую строку. Не знаю какой контрол может мне с этим помочь.
Ответы (2 шт):
Автор решения: SorryIAmLate
→ Ссылка
Попробуй WrapPanel
<ItemsControl ItemsSource="{Binding AnimalsList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Animal}" Height="100"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
Автор решения: banana
→ Ссылка
Получилось разобраться.
<ListView
ItemsSource="{Binding Animals}"
SelectedItem="{Binding SelectedAnimal}"
SelectionMode="Single"
HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemTemplate>
<DataTemplate>
<controls:AnimalCard Width="230" Height="230"/>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel></WrapPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
Таким образом теперь выглядит код с отображением коллекции.
Так выглядит окно приложения.
