0

我有一个充满 JSON 数据的列表框。现在,当我按下该列表框中的某个项目时,我应该转到有关该项目的详细信息页面。我的列表框有这个代码。

<ListBox.ItemTemplate>
                            <DataTemplate>
                                <Grid Margin="0,5,0,0">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition/>
                                        <ColumnDefinition Width="350"/>
                                    </Grid.ColumnDefinitions>
                                    <Image Source="{Binding imgurl}" MaxHeight="110" MaxWidth="110" />
                                    <TextBlock Grid.Column="1" Text="{Binding title}" TextWrapping="Wrap" Margin="10,0,2,0" FontSize="20" />
                                </Grid>
                            </DataTemplate>
                        </ListBox.ItemTemplate>

现在为了导航,我在PhoneList_SelectionChanged.

NavigationService.Navigate(new Uri("/Views/NewsDetail.xaml", UriKind.Relative));

我知道我可以使用将值传递给这个 URI?value1=testtest 但我现在的问题是我可以将这些值传递给 URI 吗?

有什么帮助吗?

4

1 回答 1

0

在选择更改事件中,您必须知道您选择的对象。代码结构如下:

PhoneModel model = PhoneList.SelectedItem as PhoneModel;
NavigationService.Navigate(new Uri("/Views/NewsDetail.xaml?value1="+model.title, UriKind.Relative));

PhoneModel 是您绑定到 listBox 的项目列表的模型。上面的代码片段在导航中发送标题。您必须将其替换为您的要求。

要在导航中发送多个参数,您必须遵循以下模式:

PhoneModel model = PhoneList.SelectedItem as PhoneModel;
NavigationService.Navigate(new Uri("/Views/NewsDetail.xaml?value1="+model.title+"&value2="+model.imgurl, UriKind.Relative));
于 2013-01-16T11:23:22.530 回答