How do I make WPF ListView items repeat horizontally, like a horizontal scrollbar?
alignment, listview, wpf, xaml
Solution
Set the ItemsPanel of the ListView to a horizontal StackPanel. Like this:
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
Problem
I have a WPF ListView which repeats the data vertically. I cannot figure out how to make it repeat horizontally, like the slideshow view in Windows Explorer. My current ListView definition is: ``` <ListView ItemsSource="{StaticResource MyDataList}" ItemTemplate="{StaticResource ListViewTemplate}"> </ListView> ``` The DataTemplate is (although I believe this should not matter); ``` <Rectangle HorizontalAlignment="Stretch" Margin="0,1,0,0" x:Name="rectReflection" Width="Auto" Grid.Row="1" Height="30"> <Rectangle.Fill> <VisualBrush Stretch="None" AlignmentX="Center" AlignmentY="Top" Visual="{Binding ElementName=imgPhoto}"> <VisualBrush.RelativeTransform> <TransformGroup> <MatrixTransform Matrix="1,0,0,-1,0,0" /> <TranslateTransform Y="1" /> </TransformGroup> </VisualBrush.RelativeTransform> </VisualBrush> </Rectangle.Fill> <Rectangle.OpacityMask> <RadialGradientBrush GradientOrigin="0.5,1.041"> <RadialGradientBrush.RelativeTransform> <TransformGroup> <ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="1.202" ScaleY="2.865"/> <SkewTransform AngleX="0" AngleY="0" CenterX="0.5" CenterY="0.5"/> <RotateTransform Angle="0" CenterX="0.5" CenterY="0.5"/> <TranslateTransform X="-0.002" Y="-0.491"/> </TransformGroup> </RadialGradientBrush.RelativeTransform> <GradientStop Color="#D9000000" Offset="0"/> <GradientStop Color="#01FFFFFF" Offset="0.8"/> </RadialGradientBrush> </Rectangle.OpacityMask> </Rectangle> </Grid> </Border> </DataTemplate> ```