我想更改listView中的项目之间的间距(也许我应该使用另一个View-element?)代码如下所示:

    <ListView SelectionMode="None" HorizontalContentAlignment="Left" >
        <ListView.Items>
            <TextBlock Text="Item 1" />
            <TextBlock Text="Item 2" />
            <TextBlock Text="Item 3" />
            <TextBlock Text="Item 4" />
        </ListView.Items>
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid Orientation="Horizontal" HorizontalChildrenAlignment="left"/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
    </ListView>


我想尽可能地模仿普通的stackpanel(可以包装元素)。当前,项目之间的间距(水平间距)太大。我之前的问题-> Windows 8 WrapPanel

提前致谢

最佳答案

您将需要更改默认模板。如果您只想进行简单的更改(例如填充和边距),则可以执行以下操作:(测试了代码,应该可以使用)

            <ListView>
        <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapGrid Orientation="Horizontal" HorizontalChildrenAlignment="left"/>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="Padding" Value="0"/>
                    <Setter Property="Margin" Value="0"/>
                </Style>
            </ListView.ItemContainerStyle>
            <ListViewItem>
                <TextBlock Foreground="Wheat">hej</TextBlock>
            </ListViewItem>
            <ListViewItem>
                <TextBlock Foreground="Wheat">hej</TextBlock>
            </ListViewItem>
        </ListView>


要获得更多控制,请在设计器中选择一个listviewitem并单击鼠标右键,以制作整个默认模板的副本。选择编辑模板,编辑副本。这将生成默认模板,您可以在此处进行更改。您可以对listviewcontainer执行相同的操作。您也可以使用Blend做到这一点。

I've added a description and images here (how you can edit a default template)

让我知道如何进行,如果您还有其他问题!祝好运!

编辑:

MemeDeveloper在下面提到,他仍然有问题,并通过调整其他一些属性来解决-他在此处发布了代码并作答,请务必看一看。

关于xaml - Windows8 ListView和项目之间的空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11594794/

10-09 04:39