C#WPF限制Listview中每行的项目

Dav*_*res 4 c# wpf xaml listview

我的清单视图:

<ListView ItemTemplate="{StaticResource GridViewItemTemplate}" Name="gridView_movies">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"  VerticalAlignment="Top"/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>
Run Code Online (Sandbox Code Playgroud)

列表的数据模板:

<DataTemplate x:Key="GridViewItemTemplate">
    <StackPanel Orientation="Vertical" >
        <Image Width="250" Height="290" Source="{Binding Image}"/>
        <TextBlock Text="{Binding Title}" HorizontalAlignment="Center"  VerticalAlignment="Top" FontSize="20"/>
    </StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

当我加载这个,所有项目都显示在一行,我的问题是,我怎么能每行只显示3个项目而不是一行中的所有项目.

感谢您的关注.

Myk*_*iuk 10

使用

<UniformGrid Columns="3" .../>
Run Code Online (Sandbox Code Playgroud)

而不是<StackPanel Orientation="Horizontal" .../>ItemsPanelTemplate

  • 您还需要将垂直对齐设置为顶部,否则它将使用所有可用空间并拉伸项目以填充该空间。不过,好主意;) (2认同)