2015-08-29 112 views
0

如果我在ListView中只有很少的元素(圖片),那麼它們的間距相等(一個在頂部,另一個在中間,第三個在底部)。然而,這在這些之間留下了很多空間。我希望將它們垂直排列在列表頂部,就像在PowerPoint縮略圖視圖中一樣。我曾嘗試在列表項下propetries,但他們沒有工作:如何刪除少數ListView項目之間的間距?

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="Background" Value="Pink" /> 
     <Setter Property="Padding" Value="0" /> 
     <Setter Property="BorderThickness" Value="0" /> 
     <Setter Property="VerticalAlignment" Value="Center" /> 
     <Setter Property="HorizontalAlignment" Value="Center" /> 
     <Setter Property="HorizontalContentAlignment" Value="Center" /> 
     <Setter Property="VerticalContentAlignment" Value="Center" /> 
    </Style> 

</ListView.ItemContainerStyle> 

我設法去除填充和調整高度和寬度,但項目仍保持同樣在整個列表隔開。

我將不勝感激。

+0

如果您設置了「高度」,那麼物品的間距就會相等,在您的情況下,每個物品都會精確地佔據100 – dkozl

+0

我刪除了高度和寬度的屬性,但它們的間隔仍然相等 – Ivan

+0

您說你的物品是「圖像」。它是否設置了「高度」? – dkozl

回答

1

您可以爲listview項目實現自己的模板。

在理論上它可能類似於此:

<ListView x:Name="myListview"> 
<ListView.ItemTemplate> 
    <DataTemplate> 
     <Image Source="{Binding}" Margin="0" /> 
    </DataTemplate> 
</ListView.ItemTemplate> 
</ListView> 

你必須用0保證金是圖像來表示你的項目,方式是什麼,我認爲原因的分離。

我沒有在Visual Studio中測試過,所以讓我知道是否有任何問題。

相關問題