下面是xaml中的wp应用代码。代码加载图像的数量及其名称。现在我想让当前点击的图像的URL和名称作为参数传递到另一个页面以加载特定的imgae和名称。帮我。
<ListBox Name="tileList" Grid.Row="2" Margin="12,0,14,0" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
<TextBlock Text="{Binding TileName}"></TextBlock>
<Image Source="{Binding ImgUri}" Height="200" Width="350" Margin="5,0,0,0" Tap="on_Tap">
</Image>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:1)
这是你应该自己解决的基本问题。但我在这里给理论不是代码。
查找ListBox选择更改事件。然后从此 将发件人强制转换为ListBox并从中获取SelctedItem。 此选定的项目将是您的列表的ItemClass的类型 say - 列出你设置为列表框的项目源的列表。
到目前为止,你已经获得了所选的ItemClass对象 包含TileName和ImageUri。所以使用MVVM Messenger Class 将此项目发送到下一页。你可以谷歌它如何使用MVVM 信使你会找到答案。
我可以给你代码,但我认为在开始阶段你应该自己尝试很多东西。快乐学习:)
编辑1: -
您将参数从一个页面发送到另一个页面的方式是正确的。这是截图。
Source Page-navigation with parameters
你能告诉我什么不行吗?你有任何例外吗?
任何问题只是评论。
答案 1 :(得分:1)
@loop使用以下代码
获取变量名中的tilename和imguriListBox lb = (ListBox)sender;
var name = lb.SelectedItem;
NavigationService.Navigate(new Uri("/Options.xaml?name=" + name, UriKind.Relative));
帮我从变量名中获取tilename和imguri值。