2017-06-16 52 views
0

我有一個ListBox需要顯示每行多個項目,如果有空間。我試圖使用WrapPanel作爲常見的解決方案,但它將所有項目移動到第一行。這是我正在使用的XAML。WrapPanel不必要的移動項目

<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> 

如果讀取文件後,動態填充列表框。這段代碼有什麼問題嗎?

+1

Horizo​​ntalScrollBarVisibility應禁用 – Clemens

+0

我不能相信這只是這一點。它的工作完美,你能回答這個問題,所以我可以標記爲解決方案?! –

回答

0

設置HorizontalScrollBarVisibility屬性Disabled而不是Hidden

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