2011-12-09 66 views
8

Tôi muốn thêm khoảng cách giữa các mục của nó, vì vậy tôi có thể dẫn dắt hoạt động liên kết của tôi trên đó.Làm cách nào để thêm khoảng cách giữa 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> 

Trả lời

2

Bạn chỉ có thể thêm một số Margin để lưới của bạn

<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

Thêm một ListView.ItemContainerStyle và tạo ra một Setter áp dụng một Margin của bất cứ kích thước bạn muốn.

16

Hy vọng điều này sẽ tiết kiệm thời gian cho người khác. Tôi thấy có nhiều thuộc tính phải được đặt thành 0 để loại bỏ hoàn toàn khoảng cách giữa ListViewItems trong một điều khiển ListView. Ngoài Lề và Đệm tôi phải đặt BorderThickness thành 0.

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
      <Setter Property="BorderThickness" Value="0"/> 
      <Setter Property="Margin" Value="0"/> 
      <Setter Property="Padding" Value="0"/> 
    </Style> 
</ListView.ItemContainerStyle> 
Các vấn đề liên quan