gpt4 book ai didi

.net - 在 WPF/Silverlight ListBox 中的项目之间添加空格,第一个上方或最后一个下方没有空格

转载 作者:行者123 更新时间:2023-12-04 02:03:54 24 4
gpt4 key购买 nike

在 WPF ListBox 中是否有标准/最佳方式来分隔项目, 这样连续的项目之间有空间,但不高于第一个或低于最后一个?

对我来说,最明显的增加间距的方法是修改 ItemTemplate包括每个项目上方、下方或上方和下方的空间。当然,这意味着第一个和/或最后一个项目或单个项目的上方/下方也将有空间。

我可以使用触发器为第一个、最后一个、中间项目选择不同的模板,但想知道是否有我遗漏的更简单的东西——似乎控制间距将是一个常见的要求。

谢谢。

注意:我在 WPF 中工作,但假设这在 Silverlight XAML 中是相似的,如果不相同。

最佳答案

我要做的是,在 ListBox 控件模板上提供负边距,并为 DataTemplate/ItemContainerStyle 提供相同的边距。这使得第一个和最后一个项目中的空间。检查下面的 XAML。而不是在 DataTemplate 中设置,我已经为 Button(ListBoxItem) 本身提供了边距。

   <Windows.Resources> 
<ControlTemplate x:Key="ListBoxControlTemplate1" TargetType="{x:Type ListBox}">
<Grid Background="{TemplateBinding Background}">
<ItemsPresenter Margin="0,-5"/>
</Grid>
</ControlTemplate>
</Window.Resources>


<ListBox HorizontalAlignment="Center" VerticalAlignment="Center" Template="{DynamicResource ListBoxControlTemplate1}" Background="#FFAB0000">
<Button Content="Button" Width="88" Margin="0,5"/>
<Button Content="Button" Width="88" Margin="0,5"/>
<Button Content="Button" Width="88" Margin="0,5"/>
<Button Content="Button" Width="88" Margin="0,5"/>
<Button Content="Button" Width="88" Margin="0,5"/>
</ListBox>

关于.net - 在 WPF/Silverlight ListBox 中的项目之间添加空格,第一个上方或最后一个下方没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2494058/

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