Gridview 水平儿童重新排列=”;“伸展”;不在WrapGrid中工作
WrapGrid中的HorizontalChildrenAlignment=“Stretch”无效吗?如何使网格项对齐,使最左侧的项保持在WrapGrid的左边框,而最右侧的项保持在WrapGrid的右边框,并使额外的空间均匀分布在网格项之间 当前,网格项之间的空间是网格项中指定的边距,如果剩余空间不足以容纳另一个网格项,则最右边的项与WrapGrid的右边框之间存在较大的间隙。理想情况下,我们希望额外的空间均匀分布在网格项之间,而不是在最右边的网格项的右侧留下剩余空间。没有这种开箱即用的动态功能。如果要显示的项目数量固定,则可以手动计算最佳保证金Gridview 水平儿童重新排列=”;“伸展”;不在WrapGrid中工作,gridview,alignment,uwp,Gridview,Alignment,Uwp,WrapGrid中的HorizontalChildrenAlignment=“Stretch”无效吗?如何使网格项对齐,使最左侧的项保持在WrapGrid的左边框,而最右侧的项保持在WrapGrid的右边框,并使额外的空间均匀分布在网格项之间 当前,网格项之间的空间是网格项中指定的边距,如果剩余空间不足以容纳另一个网格项,则最右边的项与WrapGrid的右边框之间存在较大的间隙。理想情况下,我们希望额外的空间均匀分布在网格项之间,而不是在最右边的网格项的右侧留下剩余空间。没有这种开箱即用的动态功
另一个选项是从GridView切换到Grid,但这也不是完全动态的解决方案,因为您需要定义每行显示多少项。我想您需要的是这个
<GridView ItemsSource="{Binding SomeSource}" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" HorizontalChildrenAlignment="Stretch"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<ContentControl>
<!--hidden for simplicity-->
</ContentControl>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
不是水平排列,而是垂直排列。我必须补充一点,如果没有至少一个包裹的项目,看起来确实很奇怪,因为水平调整大小会使项目“跳跃”这正是我要寻找的行为。太棒了,你好。关于这件事,你能再多告诉我一点吗?使用提供的XAML代码,项目和项目之间的空间随着总空间的增加而增大。是否可以通过某种方式调整WrapGrid,以便调整元素大小以填充水平空间(而不是在项目之间创建/放大空间)?
<WrapGrid Orientation="Horizontal" VerticalChildrenAlignment="Stretch"/>