2011-12-09 7 views
8

私はそのアイテム間に距離を追加したいので、私はその上でバインド操作を行うことができます。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> 

答えて

2

あなただけListView.ItemContainerStyleを追加し、あなたが好むどんなサイズのMarginを適用Setterを作成し、あなたのグリッドに

<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

をいくつかの証拠金を追加することができます。

16

これにより、他の誰かの時間を節約できます。 ListViewコントロール内のListViewItem間の間隔を完全に削除するために、0に設定する必要がある複数のプロパティがあることがわかりました。マージンとパディングに加えて、私はBorderThicknessを0に設定しなければならなかった。

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
      <Setter Property="BorderThickness" Value="0"/> 
      <Setter Property="Margin" Value="0"/> 
      <Setter Property="Padding" Value="0"/> 
    </Style> 
</ListView.ItemContainerStyle> 
関連する問題