Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击GridViewItem时如何导航到页面?_C#_Xaml - Fatal编程技术网

C# 单击GridViewItem时如何导航到页面?

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,其中包含2项,定义如下:

<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属性,并在事件中捕获。谢谢,但你能给出一个示例代码吗?理解会更好。只是修改了我上面的答案。谢谢,这对我帮助很大:)