如何在XAML中对GridView水平项进行排序? 可悲的是,我找不到实现这一目标的方法。关键字“方向”不可用。 这是我目前的GridView:
<GridView x:Name="TestDataBinding"
HorizontalContentAlignment="Left"
VerticalContentAlignment="Top"
SelectionMode="None"
ItemsSource="{Binding}"
ItemTemplateSelector="{StaticResource itemTemplateSelector}"
Margin="0,60,0,0"
Width="1100" Height="540"
/>
另一种方式可能是“VariableSizedWrapGrid”。但是这不能用于通过“ItemsSource”(和ItemTemplateSelector)创建Items。
答案 0 :(得分:11)
很抱歉,我不得不对您的评论提出异议,即使用VariableSizedWrapGrid无法做到这一点。它当然可以:
<GridView>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<x:String>One</x:String>
<x:String>Two</x:String>
<x:String>Three</x:String>
<x:String>Four</x:String>
</GridView>
我必须承认,VariableSizedWrapGrid不能用于通过ItemsSource创建项目。肯定能最。 WrapGrid和VariableSizedWrapGrid基本相同。 WrapGrid的重量略轻,因为它不支持列和行跨越。
答案 1 :(得分:5)
添加ItemsPanelTemplate以控制项目的排列方式,例如
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
答案 2 :(得分:2)
只需设置ItemsWrapGrid的方向:
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>