我正在制作 Windows商店应用,我需要从名为类别的GridView导航到另一个名为项的GridView,每个类别都有它自己的物品。
因此,通过使用数据绑定,我应该有一类类别和一个项目,然后根据特定类别用户的选择调用特定的技巧功能。< / em>的
如何将用户的选择从categories.xaml.cs
传递给items.xaml.cs
?我希望用户的选择位于item.cs
中使用的变量中。
我试图覆盖OnNavigateTo
,但我没有。
提前感谢你们所有人。
答案 0 :(得分:1)
假设您在categories.xaml.cs中有一个名为selectedItem的字符串变量,用于保存在gridview中选择的项目的名称。要发送selectedItem的值,您应该在categories.xaml.cs的OnNavigatedFrom方法中编写以下代码行。
this.Frame.Navigate(typeof(items), selectedItem);
要获取selectedItem的值,您应该在items.xaml.cs的navigationHelper_LoadState方法中编写以下代码。
//you can change the name of the variable below
string selectedItem=e.NavigationParameter as string;
您可以找到更多详细信息on this page。希望有所帮助。
答案 1 :(得分:0)
请注意,建议仅将简单的内置类型作为参数传递 - 如int或string。这样Frame.Get/SetNavigationState()
可用于暂停/恢复,以存储和重新整合Frame
的导航历史记录。
另请注意,您无法在页面构造函数中获取导航参数 - 您需要等待OnNavigatedTo()
覆盖或Page.NavigatedTo
事件才能检索它。您可以通过您自己的某个服务传递参数,然后在页面构造函数中获取它,但是您会遇到特殊情况(后退/前进导航,补液),您需要付出一些努力来重新实现该功能。