C# 单击GridViewItem时如何导航到页面?
我有一个GridView,其中包含2项,定义如下:C# 单击GridViewItem时如何导航到页面?,c#,xaml,C#,Xaml,我有一个GridView,其中包含2项,定义如下: <GridView Name="Grd1" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Width="Auto" SelectionMode="None" IsItemClickEnabled="True" ItemClick="GridViewItem_Click"> <GridView.ItemsPanel>
<GridView Name="Grd1" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Width="Auto" SelectionMode="None" IsItemClickEnabled="True" ItemClick="GridViewItem_Click">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" Width="Auto"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridViewItem Name ="GrdI1">
<StackPanel>
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image1.png" />
<TextBlock Text="Some sutff"/>
</StackPanel>
</GridViewItem>
<GridViewItem Name="GrdI2" >
<StackPanel>
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image2.png"/>
<TextBlock Text="Some stuff"/>
</StackPanel>
</GridViewItem>
</GridView>
如何处理代码隐藏事件,以便在单击项目GrdI1时导航到第1页,在单击项目GrdI2时导航到第2页?为了处理GridView中的单击事件,必须将GridView的IsItemClickEnabled属性设置为True,并将SelectionMode设置为None 为ItemClick事件设置新的事件处理程序,并在ItemClickEventArgs参数(默认情况下为e)中捕获单击的事件。(e.ClickedItem) 这将为您提供在GridView中单击的项目,您可以使用Frame.Navigate方法来导航页面 像这样修改xaml代码
<GridView Name="Grd1" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Width="Auto" SelectionMode="None" IsItemClickEnabled="True" ItemClick="GridViewItem_Click">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" Width="Auto"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridViewItem Name ="GrdI1">
<StackPanel Tag="Grid1">
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image1.png" />
<TextBlock Text="Some sutff"/>
</StackPanel>
</GridViewItem>
<GridViewItem Name="GrdI2" >
<StackPanel Tag="Grid2">
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image2.png"/>
<TextBlock Text="Some stuff"/>
</StackPanel>
</GridViewItem>
</GridView>
为了处理GridView中的单击事件,必须将GridView的IsItemClickEnabled属性设置为True,并将SelectionMode设置为None 为ItemClick事件设置新的事件处理程序,并在ItemClickEventArgs参数(默认情况下为e)中捕获单击的事件。(e.ClickedItem) 这将为您提供在GridView中单击的项目,您可以使用Frame.Navigate方法来导航页面 像这样修改xaml代码
<GridView Name="Grd1" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Width="Auto" SelectionMode="None" IsItemClickEnabled="True" ItemClick="GridViewItem_Click">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" Width="Auto"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridViewItem Name ="GrdI1">
<StackPanel Tag="Grid1">
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image1.png" />
<TextBlock Text="Some sutff"/>
</StackPanel>
</GridViewItem>
<GridViewItem Name="GrdI2" >
<StackPanel Tag="Grid2">
<Image HorizontalAlignment="Center" Height="100" Width="100" Source="Image2.png"/>
<TextBlock Text="Some stuff"/>
</StackPanel>
</GridViewItem>
</GridView>
你能提供完整的xaml代码吗?所以我可以粘贴它,看看是否能够帮助您这已经是gridview的全部xaml代码了。只要将它粘贴到VisualStudio中的一个现代应用程序示例中,它就会工作。您能提供完整的xaml代码吗?所以我可以粘贴它,看看是否能够帮助您这已经是gridview的全部xaml代码了。只要将它粘贴到VisualStudio中的一个现代应用程序示例中,它就会工作。您能提供完整的xaml代码吗?所以我可以粘贴它,看看是否能够帮助您这已经是gridview的全部xaml代码了。只要将它粘贴到visual studio中的一个现代应用程序示例中,它就会起作用。事实上,我想获取单击的GridViewItem的名称,但我不知道如何操作,因为我的e.ClickedItem没有这样的属性…您可以将GridViewItem的名称绑定到Stackpanel的Tag属性,并在事件中捕获。谢谢您,但能否提供示例代码?这样会更好理解。只是修改了我上面的答案。谢谢,这对我有很大帮助:)事实上,我想得到点击的GridViewItem的名称,但我不知道怎么做,因为我的e.ClickedItem没有这样的属性…你可以将GridViewItem的名称绑定到Stackpanel的Tag属性,并在事件中捕获。谢谢,但你能给出一个示例代码吗?这样会更好理解。只是修改了我上面的答案。谢谢,这对我有很大帮助:)事实上,我想得到点击的GridViewItem的名称,但我不知道怎么做,因为我的e.ClickedItem没有这样的属性…你可以将GridViewItem的名称绑定到Stackpanel的Tag属性,并在事件中捕获。谢谢,但你能给出一个示例代码吗?理解会更好。只是修改了我上面的答案。谢谢,这对我帮助很大:)