gpt4 book ai didi

c# - 项目之间的列表框垂直间隙(删除??)

转载 作者:行者123 更新时间:2023-11-30 23:28:39 25 4
gpt4 key购买 nike

我的列表框是使用 DataTemplate 进行数据绑定(bind)的对象列表驱动的数据,例如:

            <ListBox x:Name="TheMainListBox" 
ScrollViewer.IsVerticalRailEnabled="True"
ScrollViewer.IsHorizontalRailEnabled="False"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Height="540"
ItemsSource="{Binding}"
Width="Auto"
Margin="0"
Padding="0"
Background="Yellow"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
SelectionChanged="TheMainListBox_SelectionChanged"
DoubleTapped="TheMainListBox_DoubleTapped"
>

模板:

            <ListBox.ItemTemplate>
<DataTemplate>
<Grid or Stackpanel Background="Blue"
Padding="0"
BorderBrush="Black"
BorderThickness="1"
Margin="0"
>
.... Binding Textboxes/blocks
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>

我最终得到一个黄色容器,即 ListBox,.. 内部有蓝色矩形,ListBox 项目,但它们之间有一个垂直间隙。我可以设置一个负的垂直顶部边距,但这很粗糙并且不适用于顶部项目。如何将项目之间的垂直间隙减小到零。

如果创建一个带有静态项目的列表框,每个项目都在一个 ListBoxItem 容器中,例如:

                <ListBoxItem BorderThickness="1" Width="100" Height="50"
BorderBrush="Black" Background="Red"/>

一切都按要求工作。

那么如何使用 ItemTemplate/DataBinding 消除项目之间的垂直间距?这是关键任务,提前致谢。

最佳答案

我没有时间加载一个项目来测试,但你应该能够消除可能导致它的边距/填充。所以添加;

<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>

关于c# - 项目之间的列表框垂直间隙(删除??),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916476/

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