ListView 边距
ListView margins
我正在尝试显示具有特定高度(小于屏幕高度)的图像列表,并且我希望宽度与屏幕宽度匹配。
当我把它们放在一个网格中时,我能够达到预期的效果:
<Grid>
<Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image>
</Grid>
但是当我将它们放入 ListView 时,我看到图像的左右边缘有一个边距。换句话说,图像不是边到边的。
这是我的代码的(过度)简化版本:
<Grid>
<ListView>
<Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image>
</ListView>
</Grid>
阅读其他类似主题后,我尝试使用 Styles 设置 ListviewItems 的 HorizontalAlignment 属性 无济于事。我错过了什么?
首先,当您在 listView 上添加图像时,该图像成为 ListViewItem 的内容,您可以删除该项目自动应用的边距。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
即使这样做,你仍然可以有一点余量,这是由列表视图应用的:
ListView BorderThickness="0"
Padding="-1">
BorderThickness 移除所有边距是不够的,这就是为什么我们将 listView 的 padding 设置为 -1,您可以调整此值以更好地适应您的 Window。
我正在尝试显示具有特定高度(小于屏幕高度)的图像列表,并且我希望宽度与屏幕宽度匹配。
当我把它们放在一个网格中时,我能够达到预期的效果:
<Grid>
<Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image>
</Grid>
但是当我将它们放入 ListView 时,我看到图像的左右边缘有一个边距。换句话说,图像不是边到边的。 这是我的代码的(过度)简化版本:
<Grid>
<ListView>
<Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image>
</ListView>
</Grid>
阅读其他类似主题后,我尝试使用 Styles 设置 ListviewItems 的 HorizontalAlignment 属性 无济于事。我错过了什么?
首先,当您在 listView 上添加图像时,该图像成为 ListViewItem 的内容,您可以删除该项目自动应用的边距。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
即使这样做,你仍然可以有一点余量,这是由列表视图应用的:
ListView BorderThickness="0"
Padding="-1">
BorderThickness 移除所有边距是不够的,这就是为什么我们将 listView 的 padding 设置为 -1,您可以调整此值以更好地适应您的 Window。