Я создаю дизайн, который динамически добавляет materialdesign:Card
внутрь ItemsControl
.Мой оригинальный код проекта такой:
<ItemsControl ItemsSource="{Binding Something}" HorizontalAlignment="Left">
<ItemsControl.ItemTemplate>
<DataTemplate>
<materialDesign:Card>
....
</materialDesign:Card>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Однако мне не понравился вывод, который выглядит следующим образом:
----------------------------------------
| [ Card here ] |
| [ Card here ] |
| [ Card here ] |
----------------------------------------
Я исследовал добавление вертикальной ориентации и видел предыдущие темы SO, которыеПредлагаю добавить что-то вроде этого:
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
Действительно, это как-то ответило на мою озабоченность:
-------------------------------------------
| [ Card here ] [ Card here ] [ Card here ] |
| [ Card here ] [ Card here ] [ Card here ] |
-------------------------------------------
Проблема сейчас в том, что до сих пор Cards
нетпоказано ниже, поэтому мне нужно было ScrollBar
, чтобы пойти дальше.В предыдущих темах SO предлагалось добавить ScrollViewer
, поэтому я сделал это до моего ItemsControl
.
<ScrollViewer>
<ItemsControl>
....
</ItemsControl>
</ScrollViewer>
Однако это приводит к первому результату.Есть ли способ добиться этого?Возможно, замена для WrapPanel
или что-то?