我尝试执行全景应用程序,当您点击列表框中的项目时,它会打开一个新页面。 所以列表框由图像和texbox组成,我点击我想将图像的名称带入新页面。 任何建议? (抱歉我的英语不好)
答案 0 :(得分:1)
尝试:
<ListBox ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Source="{Binding ImageUrl}" Tag="{Binding ImageName}" Tap="Image_Tap"/>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在背后的代码中
private void Image_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
Image img = sender as Image;
String name = img.Tag.ToString();
NavigationService.Navigate(new Uri("Page2.xaml?ImageName="+name,UriKind.Relative));
}
在Page2.xaml.cs
上 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
String Name = NavigationContext.QueryString["ImageName"];
base.OnNavigatedTo(e);
}
答案 1 :(得分:0)
您可以传递this example中显示的参数。
因此,在Tap事件中,您需要获取图像名称,将其保存到任何字符串并作为查询参数传递:
var url = "/Views/PageName.xaml?imageName=" + imageName;
NavigationService.Navigate(new Uri(url ,UriKind.Relative));