WPF 项目控制子对齐

WPF itemscontrol child alignment

我有一个带有项目控件的 WPF MVVM 应用程序。水平子项目的数量受项目控件宽度的影响。只有一件事我没有解决。我正在尝试以始终居中的方式对齐子元素。我用油漆做了一些快速的图片来证明我的意思。

现在怎么样:

如果宽度进一步增加,则会水平添加第四个项目。这个功能需要保留。

我希望如何看待它:

如果第四个项目有足够的空间,则需要添加它。我认为答案可能很简单 XAML 属性。有人有想法吗?

将 ItemsControl 放入 Grid 中并将其 HorizontalAlignment 设置为 Center:

<Grid>
    <ItemsControl ItemsSource="{Binding Images}" HorizontalAlignment="Center">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Image Source="{Binding}" .../>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Grid>