如何在wp7中将项目索引添加到导航页面

时间:2012-10-16 11:06:26

标签: c# windows-phone-7

private void my_listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)   
{            
    try
    {
        FrameworkElement element = (FrameworkElement)sender;
        SampleData item = (SampleData)element.DataContext;
        int index = dataSource.IndexOf(item);
        string s = "/Page"+index;
        s +=".xaml";
        NavigationService.Navigate(new Uri("s", UriKind.Relative));
    }
    catch
    {
        MessageBox.Show("Sorry..please try again..");
    }
}

这是代码的一部分。这有什么问题?单击列表框中的项目时,它将转到导航失败功能。我想按下该项目并将其添加到导航页面。你能帮忙吗?

3 个答案:

答案 0 :(得分:2)

删除“s”周围的引号:

NavigationService.Navigate(new Uri(s, UriKind.Relative));

如果你放s,那么你正在使用变量s的内容。如果您使用"s",那么您将创建一个包含文字值s的新字符串。

答案 1 :(得分:0)

看看你从数据源获取索引的方式我觉得,你可能正在尝试将QueryString参数传递给你的页面..如此,试试这样

string s = "/Page.xaml?index=" + index;

并在目标网页加载中,读取该参数

string qryArgVal = "";
NavigationContext.QueryString.TryGetValue("index", out qryArgVal);

答案 2 :(得分:0)

我发现自己就是答案。在列表框中,获取索引的最简单方法是int k = ((ListBox)sender).SelectedIndex;,现在你的k将具有索引值