2011-12-09 18 views
8

Me gustaría agregar distancia entre sus elementos, por lo que puedo dirigir mi operación de enlace en él.¿Cómo agregar espacio entre listview.items?

<ListView Margin="0,22,0,0" x:Name="ListViewImages" MouseLeftButtonDown="ListViewImages_MouseLeftButtonDown" 
     SelectionMode="Extended" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled" local:ListBoxExtention.IsRectSelectionEnabled="True"> 
     <ListView.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel Name="WraPanel1" Margin="5" /> 
      </ItemsPanelTemplate> 
     </ListView.ItemsPanel> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="5" ></RowDefinition> 
         <RowDefinition Height="150"></RowDefinition> 
         <RowDefinition Height="15" ></RowDefinition> 
         <RowDefinition Height="5" ></RowDefinition> 
        </Grid.RowDefinitions> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="7" x:Name="columnLeft"></ColumnDefinition> 
         <ColumnDefinition Width="100" x:Name="columnImage"></ColumnDefinition> 
         <ColumnDefinition Width="7" x:Name="columnRight"></ColumnDefinition> 
        </Grid.ColumnDefinitions> 
        <Image Name="Grid_Images" AllowDrop="True" Width="Auto" Height="Auto" Tag="{Binding Id}" Source="{Binding Converter={StaticResource imageConverter}}" Grid.Row="1" Grid.Column="1" 
          DragEnter="Grid_Images_DragEnter" MouseLeftButtonDown="Grid_Images_MouseLeftButtonDown" MouseLeftButtonUp="Grid_Images_MouseLeftButtonUp" 
          MouseMove="Grid_Images_MouseMove" Drop="Grid_Images_Drop" KeyUp="Grid_Images_KeyUp" /> 
        <TextBlock Name="Grid_Descrition" AllowDrop="True" TextAlignment="Center" Text="{Binding Id}" Grid.Row="2" Grid.Column="1"/> 
       </Grid> 

      </DataTemplate> 

     </ListView.ItemTemplate> 
    </ListView> 

Respuesta

2

Usted puede simplemente añadir un poco de margen a su rejilla

<Grid Margin="5"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="5" ></RowDefinition> 
        <RowDefinition Height="150"></RowDefinition> 
        <RowDefinition Height="15" ></RowDefinition> 
        <RowDefinition Height="5" ></RowDefinition> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="7" x:Name="columnLeft"></ColumnDefinition> 
        <ColumnDefinition Width="100" x:Name="columnImage"></ColumnDefinition> 
        <ColumnDefinition Width="7" x:Name="columnRight"></ColumnDefinition> 
       </Grid.ColumnDefinitions> 
       <Image Name="Grid_Images" AllowDrop="True" Width="Auto" Height="Auto" Tag="{Binding Id}" Source="{Binding Converter={StaticResource imageConverter}}" Grid.Row="1" Grid.Column="1" 
         DragEnter="Grid_Images_DragEnter" MouseLeftButtonDown="Grid_Images_MouseLeftButtonDown" MouseLeftButtonUp="Grid_Images_MouseLeftButtonUp" 
         MouseMove="Grid_Images_MouseMove" Drop="Grid_Images_Drop" KeyUp="Grid_Images_KeyUp" /> 
       <TextBlock Name="Grid_Descrition" AllowDrop="True" TextAlignment="Center" Text="{Binding Id}" Grid.Row="2" Grid.Column="1"/> 
      </Grid> 
1

Añadir un ListView.ItemContainerStyle y crear un Setter que aplica un Margin de cualquier tamaño que prefiera.

16

Esperemos que esto le ahorrará a alguien más el tiempo. Descubrí que hay varias propiedades que tienen que establecerse en 0 para eliminar por completo el espacio entre ListViewItems en un control ListView. Además de Margen y Relleno, tuve que configurar el BorderThickness en 0.

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
      <Setter Property="BorderThickness" Value="0"/> 
      <Setter Property="Margin" Value="0"/> 
      <Setter Property="Padding" Value="0"/> 
    </Style> 
</ListView.ItemContainerStyle> 
Cuestiones relacionadas