12
votes

Comment ajouter un espacement entre la listeView.items?

Je voudrais ajouter une distance entre ses objets, afin que je puisse mener mon opération de liaison dessus.

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


0 commentaires

3 Réponses :


3
votes

Vous pouvez simplement ajouter une marge à votre grille

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


0 commentaires

3
votes

Ajouter un listview.itemcontainerStyle et créer un Setter qui applique une marge de la taille que vous préférez.


0 commentaires

25
votes

Espérons que cela sauvera quelqu'un d'autre le temps. J'ai trouvé qu'il y a plusieurs propriétés qui doivent être réglées sur 0 afin de supprimer complètement l'espacement entre ListVievems dans un contrôle ListView. En plus de la marge et du rembourrage, je devais régler la frontière avec 0. xxx


0 commentaires