Xaml UWP-是否可以减少UWP列表视图控件中ListViewItems之间的交叉?

Xaml UWP-是否可以减少UWP列表视图控件中ListViewItems之间的交叉?,xaml,listview,uwp,uwp-xaml,listviewitem,Xaml,Listview,Uwp,Uwp Xaml,Listviewitem,我正在开发一个自定义控件,它可以创建一个可滑动的图像列表。我决定将此可滑动图像列表实现为具有水平方向的ListView。 下面是上述实现的XAML(使用边框和不同背景色只是为了说明问题): XAML产生以下输出(我已经用我希望实现的内容对其进行了注释): 问题:是否可以减小呈现单个列表视图项的框的宽度,以便减少图标之间的交叉?理想情况下,我希望交织能够通过用户指定的宽度进行控制(在这种情况下,我将最终实现为用户控制)。 如果没有办法减少交织,那么有什么替代方案可以达到同样的效果?我已经尝试

我正在开发一个自定义控件,它可以创建一个可滑动的图像列表。我决定将此可滑动图像列表实现为具有水平方向的ListView。 下面是上述实现的XAML(使用边框和不同背景色只是为了说明问题):


XAML产生以下输出(我已经用我希望实现的内容对其进行了注释):

问题:是否可以减小呈现单个列表视图项的框的宽度,以便减少图标之间的交叉?理想情况下,我希望交织能够通过用户指定的宽度进行控制(在这种情况下,我将最终实现为用户控制)。 如果没有办法减少交织,那么有什么替代方案可以达到同样的效果?我已经尝试过ContentMargin和Margin,但成功率非常有限,结果发现它并不能解决我的问题。
谢谢你的帮助

您需要更改
ListViewItem
MinWidth
属性的默认值:

    <ListView x:Name="theListView" ...>
        ...
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                ...
                <Setter Property="MinWidth" Value="0"/>
                ...
            </Style>
        </ListView.ItemContainerStyle>
    </ListView>

...
...
...

然而,我不能不同意肖恩·奥尼尔的观点,他认为从这个角度来看,似乎更适合你的任务。你可以在这个官方网站上看一看。

我现在无法给出正确的答案,但现在的情况似乎是,它认为图标的高度实际上就是宽度。我的猜测是,自动生成的ListView项容器不考虑水平方向。在ItemsStackPanel中的H和V对齐中,如果从拉伸更改为中心,会发生什么情况?如果手动设置ListViewItem宽度,会发生什么情况?负填充或边距有什么作用?这些都是我会尝试的。同样,UWP工具包没有制作水平列表视图,而是有一个你可能喜欢的旋转木马控件。谢谢你,肖恩!我不知道旋转木马的控制,一定会调查的。谢谢你,A。米尔托!这解决了我目前的问题,但根据肖恩和你的建议,我将研究旋转木马控制。看来这正是我需要的。@AutomationZombie我的荣幸!
    <ListView x:Name="theListView" ...>
        ...
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                ...
                <Setter Property="MinWidth" Value="0"/>
                ...
            </Style>
        </ListView.ItemContainerStyle>
    </ListView>