水平堆叠面板上列表项之间的间距
本文关键字:之间 列表 水平 | 更新日期: 2023-09-27 18:08:00
我如何控制来自投标'速记'的项目之间的空间量?目前,我之间的差距似乎取决于"速记"本身的值的大小(因此,如果值是1个字符,它与下一个值之间的差距比如果值是2个字符长)。
我试着在不同的地方把边距和内边距设置为零,但无济于事。
<ListView ItemsSource="{Binding Rounds}" IsItemClickEnabled="False" ItemClick="ItemView_ItemClick" ContinuumNavigationTransitionInfo.ExitElementContainer="True">
<ListView.ItemTemplate>
<DataTemplate >
<StackPanel>
<TextBlock Style="{ThemeResource ListViewItemSubheaderTextBlockStyle}">
<Run Text="Round "/>
<Run Text="{Binding RoundNumber}" />
</TextBlock>
<ListView ItemsSource="{Binding Formations}" >
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Shorthand}" Style="{ThemeResource ListViewItemTextBlockStyle}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我不确定在Template
的边距/填充设置的位置。作为一种解决方法,您可以尝试将负Margin
设置为ItemContainerStyle
:
<ListView Name="myList">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Margin" Value="0,0,0,-20" />
</Style>
</ListView.ItemContainerStyle>
// rest of the code
ListView
的ItemView
第一次出现是内联定义的。因此,当设置ItemSource
时,ItemTemplate
将应用于每个项目。
ListView.ItemTemplate
包含Binding Shorthand
。将其放置在Grid
中,并为DataTemplate
定义Grid.ColumnDefinitions
的Width="Auto"或"*"
StackPanel可以帮助它更好地定位。您将不得不调整网格定义以满足所需的显示要求。
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Top" Margin="10,0,0,0">
<TextBlock Text="{Binding Shorthand}" Style="{ThemeResource ListViewItemTextBlockStyle}" />
</StackPanel>
</Grid>
</DataTemplate>