1

我在页面上有以下 GridView:

<GridView Background="Black">
    <GridView.ItemsPanel>
        <ItemsPanelTemplate>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
            </Grid>
        </ItemsPanelTemplate>
    </GridView.ItemsPanel>
    <GridView.Items>
        <TextBlock Grid.Row="0" Grid.Column="0" Text="Hello"/>
        <TextBlock Grid.Row="1" Grid.Column="1" Text="there"/>
    </GridView.Items>
</GridView>

这使得“Hello”和“there”在左上象限中彼此重叠。我本来希望在左上象限找到“你好”这个词,在右下象限找到“那里”。

我错过了什么?

4

1 回答 1

2

该框架将自动创建一个 GridViewItem 以包含 GridView 中的每个项目,除非您明确创建一个。因此,在包含的项目上设置Grid.RowGrid.Column将无效。试试这个:

<GridView Background="Black">
    <GridView.ItemsPanel>
        <ItemsPanelTemplate>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
            </Grid>
        </ItemsPanelTemplate>
    </GridView.ItemsPanel>
    <GridView.Items>
        <GridViewItem Grid.Row="0" Grid.Column="0">
            <TextBlock Text="Hello"/>
        </GridViewItem>
        <GridViewItem Grid.Row="1" Grid.Column="1">
            <TextBlock Text="there"/>
        </GridViewItem>
    </GridView.Items>
</GridView>
于 2013-06-13T19:42:37.080 回答