gpt4 book ai didi

c# - 无法消除 Windows 8 Metro 'ListView' 中 Tiles 之间的填充/边距

转载 作者:太空狗 更新时间:2023-10-29 17:35:05 24 4
gpt4 key购买 nike

我正在尝试在 StackPanel 中构建两个 ListView 对象,并让所有 ItemTemplate Tiles 相互“接触”(意思是ListView 中没有边距或填充)。 Windows 8 Metro 似乎有某种内置的填充/边距。 我的问题:如何删除它们或将它们设置为 0

这是我的代码:

<StackPanel x:Name="teesSP" 
HorizontalAlignment="Left"
Orientation="Horizontal"
VerticalAlignment="Top" >

<ListView x:Name="timesLV1"
SelectionMode="Multiple"
SelectionChanged="timesLV_Click"
ItemTemplate="{StaticResource TimeTileTemplate}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>

<ListView x:Name="timesLV2"
SelectionMode="Multiple"
SelectionChanged="timesLV_Click"
ItemTemplate="{StaticResource TimeTileTemplate}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>

</StackPanel>

我的 ItemTemplate 是:

<DataTemplate x:Key="TimeTileTemplate">
<Grid HorizontalAlignment="Center" Background="White" >
<Border BorderBrush="Black" BorderThickness="2" >
<StackPanel Margin="0,0,0,0" Orientation="Horizontal"
Width="130" Height="60" VerticalAlignment="Center" >
<TextBlock Margin="2,0,0,0" TextWrapping="Wrap"
Style="{StaticResource ItemSubtitleStyle}"
VerticalAlignment="Center"
HorizontalAlignment="Left"
Text="{Binding startTime}" Width="70" />
<TextBlock TextWrapping="Wrap"
Style="{StaticResource ItemTitleStyle}"
VerticalAlignment="Center"
HorizontalAlignment="Right"
Text="{Binding startHole}" Width="40" />
</StackPanel>
</Border>
</Grid>
</DataTemplate>

...并呈现以下内容:

ListView with margins/padding

最佳答案

您应该提供一个负的 margin :

<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Margin" Value="0,0,0,-8" />
</Style>
</ListView.ItemContainerStyle>

关于c# - 无法消除 Windows 8 Metro 'ListView' 中 Tiles 之间的填充/边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com