Попробуйте использовать WrapPanel в качестве панели элементов вашего ListView и отключите горизонтальную полосу прокрутки:
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
...
</ListView>
ItemTemplate указывает, как должен отображаться каждый элемент.Это не влияет на расположение предметов.ItemsPanel, напротив, определяет макет.
Кроме того, вы можете захотеть, чтобы все элементы отображались одинакового размера.Вы можете узнать, как это сделать из этой статьи:
http://joshsmithonwpf.wordpress.com/2008/09/06/synchronizing-the-width-of-elements-in-an-itemscontrol/