C#GridView与GridViewItems

时间:2015-04-19 18:35:55

标签: c# gridview windows-store-apps

Hee Guys,

我习惯为Android编程但是对于学校我必须使用C#编写应用程序,但是我仍然坚持以下问题。

该项目是Windows Store项目。但是我从API获得了一些关于电影的信息,我想在GridView中显示这些电影。目前我手动添加这些电影(20),然后显示它们。现在,如果我单击它们,我想从该项目中检索当前ID,但是我不知道如何传递此ID。

有一种简单的方法吗?那么手动添加项目有一种更简单的方法吗?

我的例子:

<GridView SelectionMode="None" IsItemClickEnabled="True"  Foreground="#DEFFFFFF">
    <GridViewItem Tapped="GridViewItem_Tapped_1" >
        <Grid HorizontalAlignment="Left" Width="250" Height="250">
            <Image Name="image1" Stretch="UniformToFill"/>
            <TextBlock Name="title1" HorizontalAlignment="Center" Width="auto" Text="" VerticalAlignment="Bottom"/>
        </Grid>
    </GridViewItem>
    <GridViewItem Tapped="GridViewItem_Tapped_1">
        <Grid HorizontalAlignment="Left" Width="250" Height="250">
            <Image Name="image2" Stretch="UniformToFill"/>
            <TextBlock Name="title2" HorizontalAlignment="Center" Width="auto" Text="" VerticalAlignment="Bottom"/>
        </Grid>
    </GridViewItem>
    <GridViewItem Tapped="GridViewItem_Tapped_1">
        <Grid HorizontalAlignment="Left" Width="250" Height="250">
            <Image Name="image3" Stretch="UniformToFill"/>
            <TextBlock Name="title3" HorizontalAlignment="Center" Width="auto" Text="" VerticalAlignment="Bottom"/> 
        </Grid>
    </GridViewItem>
</GridView>

我每个都有20个,我手动添加它们。那么有一种更简单的方法,如何在这些项目中传递ID以用于onClick目的?

2 个答案:

答案 0 :(得分:0)

为SelectionOnChanged触发器提供帮助。

 private void GridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        GridView grid = (GridView) sender;
        int index = grid.SelectedIndex;
}

这样我就可以获得索引并从数组中获取所需的值。

答案 1 :(得分:0)

另一个选择是使用ItemClick事件。

void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
    var itemId = ((SampleDataItem)e.ClickedItem).UniqueId;
    this.Frame.Navigate(typeof(ItemDetailPage), itemId);
}