gpt4 book ai didi

wpf - 使用 UniformGrid 的列表框 - 项目未居中

转载 作者:行者123 更新时间:2023-12-02 14:26:20 25 4
gpt4 key购买 nike

我有一个使用 UniformGrid 作为 ItemsPanelTemplate 的列表框。这是一个照片列表。我希望照片在网格的每个单元格的中心水平居中,但似乎无论我做什么,图像都会与每个单元格的左侧对齐。这是我当前的 XAML:

<Border BorderThickness="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" DockPanel.Dock="Right">
<ListBox Name="PhotosListBox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Path=photo}" HorizontalAlignment="Center"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>

如您所见,我将 DataTemplate 中的 Image 控件设置为 Horizo​​ntalAlignment="Center",我认为这样可以做到这一点,但它不起作用。

我做错了什么?

最佳答案

您需要将 Horizo​​ntalContentAlignment 设置为 Stretch,首先允许 ListBoxItems 拉伸(stretch)到所有可用空间,以便内联控件可以相应地居中对齐。

<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
...
</ListBox>

关于wpf - 使用 UniformGrid 的列表框 - 项目未居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21611004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com