C# 包装不必要地移动物品

C# 包装不必要地移动物品,c#,wpf,xaml,C#,Wpf,Xaml,我有一个列表框,如果有空间的话,每行需要显示多个项目。我曾尝试使用WrapPanel作为通用解决方案,但它将所有项目移动到第一行。这是我正在使用的XAML <Border CornerRadius="0.5" Background="#FEFEFE" BorderThickness="0" Margin="20"> <Border.Effect> <DropShadowEffect BlurRadius="4" Color="

我有一个列表框,如果有空间的话,每行需要显示多个项目。我曾尝试使用WrapPanel作为通用解决方案,但它将所有项目移动到第一行。这是我正在使用的XAML

<Border CornerRadius="0.5" Background="#FEFEFE" BorderThickness="0" Margin="20">
        <Border.Effect>
            <DropShadowEffect BlurRadius="4" Color="#000000" Opacity="14" ShadowDepth="0" Direction="0" />
        </Border.Effect>
        <ListBox x:Name="listaAtletas" Background="Transparent" BorderThickness="0" Margin="0" Padding="0" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Hidden">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel Orientation="Horizontal" IsItemsHost="True" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid MinWidth="350" Height="100">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition />
                            <ColumnDefinition />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Image Source="{Binding Imagem}" Width="40" Height="40" Grid.Column="0" />
                        <StackPanel Orientation="Vertical"  Grid.Column="1" >
                            <ContentControl Content="{Binding Nome}"/>
                            <TextBlock Text="{Binding Nascimento}" HorizontalAlignment="Left" />
                            <TextBlock Text="{Binding Status}" HorizontalAlignment="Left" />
                            <TextBlock Text="{Binding Modalidades}" HorizontalAlignment="Left" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal"  Grid.Column="2" >
                            <Button x:Name="EditButton" Content="E" Width="20" Height="20" />
                            <Button x:Name="DeleteButton" Content="X" Width="20" Height="20" />
                        </StackPanel>
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Border>


在读取文件后动态填充列表框。这段代码有问题吗?

水平滚动条可见性
属性设置为
禁用
,而不是
隐藏

<ListBox ... ScrollViewer.HorizontalScrollBarVisibility="Disabled">
    ...
</ListBox>

...

HorizontalScrollBar可视性应该是禁用的,我不敢相信这就是问题所在。它工作得很好,你能回答这个问题吗,这样我就可以标记为解决方案了?!