首页 > 解决方案 > 如何删除 ItemsControl 项之间的间距

问题描述

我有一个带有 MaterialDesign 芯片的 ItemsControl 作为 DataTemplate。我的目标是一个接一个地放置物品,中间没有太多空间。

有一张照片现在看起来像:https ://imgur.com/hicWnGg.png

这是我的目标:https ://imgur.com/0jIEk8k.png

我已经尝试了带有 Margin 的 ItemContainerStyle 但这并没有帮助我

我当前的代码

<ScrollViewer VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto">
                <ItemsControl x:Name="myItemsControl" Height="40" Margin="0 10 0 0">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <UniformGrid Rows="1"/>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>

                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <materialDesign:Chip Tag="{Binding Name}" Uid="{Binding SourceName}" Content="{Binding Code}" Width="75" IsDeletable="True" DeleteClick="Chip_DeleteClick"/>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </ScrollViewer>

标签: c#wpfitemscontrol

解决方案


改变你的ItemsPanelTemplateStackPanel而不是UniformGrid

<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>

推荐阅读