gpt4 book ai didi

windows-phone - 如何在 Windows Phone 8 中的页面之间传递非字符串参数?

转载 作者:行者123 更新时间:2023-12-04 01:44:53 25 4
gpt4 key购买 nike

我正在将 Windows 商店应用程序转换为 Windows Phone 8。对于 WinRT,您可以在调用 frame.navigate 时将任何对象作为参数传递。 (frame.navigate(类型 sourcePageType,对象参数))

Windows 手机的导航似乎有所不同,您可以通过调用 uri 进行导航,例如: frame.navigate(new uri("mypage.xaml", UriKind.Relative))

Windows 文档指出,您可以通过将字符串添加到 uri 来将字符串作为参数传递。

是否有一种可接受的方式在我尚未找到的页面之间传递复杂对象?

最佳答案

我最终扩展了 NavigationService 类,如下所示:

public static class NavigationExtensions
{
private static object _navigationData = null;

public static void Navigate(this NavigationService service, string page, object data)
{
_navigationData = data;
service.Navigate(new Uri(page, UriKind.Relative));
}

public static object GetLastNavigationData(this NavigationService service)
{
object data = _navigationData;
_navigationData = null;
return data;
}
}

然后你会调用 NavigationService.Navigate("mypage.xaml", myParameter);在源页面上,以及在目标页面的 OnNavigatedTo 方法中调用 var myParameter = NavigationService.GetLastNavigationData();获取参数数据。

关于windows-phone - 如何在 Windows Phone 8 中的页面之间传递非字符串参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com