我有一个充满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));
我知道我可以使用?value1=testtest
将值传递给此URI
但我现在的问题是,我可以将这些值传递给URI吗?
任何帮助?
答案 0 :(得分: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));