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>
我有一个带有项目控件的 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>