4

如何在 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)创建项目。

4

3 回答 3

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 的重量稍轻,因为它不支持列和行跨越。

于 2013-01-11T05:15:32.217 回答
5

添加一个 ItemsPanelTemplate 来控制项目的排列方式,例如,

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapGrid Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</GridView.ItemsPanel>
于 2013-01-10T23:30:06.067 回答
2

只需设置 ItemsWrapGrid 的方向:

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <ItemsWrapGrid Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</GridView.ItemsPanel>
于 2014-06-01T16:30:36.433 回答