【问题标题】:ListView spacing in XAMLXAML 中的 ListView 间距
【发布时间】:2013-04-23 19:05:06
【问题描述】:

所以,我在列表视图中遇到间距问题,这是我的代码:

            <ListView Width="300" ItemsSource="{Binding ChosenDepartment.HoursList}" Grid.Row="1" Grid.Column="1" Margin="100,0,0,0" IsItemClickEnabled="False" SelectionMode="None">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="125" Text="{Binding Day}" Style="{StaticResource BasicTextStyle}" FontWeight="Bold"/>
                        <TextBlock Width="160" Text="{Binding Time}" Style="{StaticResource BasicTextStyle}"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Padding" Value="0"/>
                    <Setter Property="Margin" Value="0"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>

无论我做什么,StackPanel 下方在ListItems 之间都有间距。足够的空间容纳两行文本。事实上,如果TextBlock 中的文本换成两行,它会完美地填充ListViewItem

我可以在所有TextBlocks 上调整边距和Padding,但它什么也没做。影响ListView 项目高度的唯一方法是如果我将高度属性添加到ItemContainerStyle。如果我硬编码Height,它会影响它,但当然,我不想硬编码Height

【问题讨论】:

  • BasicTextStyle 是什么?
  • 这必须是我在整个应用程序中使用的稍微改变的自定义文本样式。但是,我已经完全删除了该样式,以查看它是否改变了任何东西,但它没有。
  • 您是否尝试过使用Snoop?这也很棒,它可以更容易地找到额外的填充来自哪里(除其他外)。

标签: xaml windows-8 microsoft-metro


【解决方案1】:

ListViewItem 在其模板中具有硬编码的边距,以适应在您选择它们​​时添加的边框和视觉指示(通过右键单击它们或用手指向下滑动它们)。

如果你想删除它们,你需要在 Blend 中编辑它们的模板:右键点击你的 ListView 然后选择 Edit Additionnal Templates > Edit Generated Item Container (ItemContainerStyle) > Edit a copy... 并修改模板。

【讨论】:

    【解决方案2】:

    Jeremy 的回答让我走上了正确的道路,但最终我发现了另一个名为 ItemsControl 的控件,它没有 ListView 的所有绒毛,这正是我想要的。

    【讨论】:

    • 谢谢你!我在嵌套列表视图中使用它,只需要显示列表,没有多余的装饰。 ItemsControl 非常适合摆脱多余的间距,谢谢!
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多