主页面包含列表框,框架和少量超链接。在单击超链接时,将在框架中加载适当的页面。
如何通过silverlight 3中的查询字符串将主页上列表框的选定项值传递给正在加载的页面(例如:关于页面)?
任何指针都将受到高度赞赏。
答案 0 :(得分:1)
根据MSDN页面,您可以使用
格式指定查询字符串<uriMapper:UriMapping Uri="/Products/{type}"
MappedUri="/Views/ProductDetail.xaml?producttype={type}">
</uriMapper:UriMapping>
我不知道如何通过XAML将类型链接到值,但是在导航到该页面时,您可以添加OnClick事件而不是navigationuri。在OnClick事件中,您将指定类似以下内容:
private void Link2_Click(object sender, RoutedEventArgs e)
{
Uri x = new Uri(String.Format(/Products/{0},yourcombo.SelectedItem), UriKind.Relative);
//ContentFrame is the Navigation Frame
ContentFrame.Navigate(x);
}
这将导航到ProductDetail.xaml页面。从这里,您可以使用string type = this.NavigationContext.QueryString["producttype"];
Tim Heuer在导航解决方案方面也有出色的web cast。