当前位置: 首页 > 编程语言 > C#

在WindowsPhone8中的页面之间传递字符串

时间:2023-04-10 14:10:10 C#

在WindowsPhone8中的页面之间传递字符串我需要在WindowsPhone8字符串中的两个页面之间传递一个简单的字符。我一直在搜索,试图找到最好的方法-但我尝试过的那些方法都不起作用-所以我问你:在WindowsPhone8中的两个页面之间传递简单字符串的最佳方法是什么。这是我用来导航到另一个页面的方法:NavigationService.Navigate(newUri("/newpage.xaml",Urikind.Relative));对于字符串变量,最简单的方法是使用查询字符串参数:NavigationService.Navigate(newUri("/newpage.xaml?key=value",Urikind.Relative));使用NavigationContext.QueryString在目标页面上选择它://etc...}}注意:如果您的字符串仅包含字母数字字符,则以上内容无需修改即可使用。但是,如果您的字符串可能包含URL保留字符(例如&?),则您必须对它们进行URL编码。Uri.EscapeDataString使用辅助方法Uri.EscapeDataString和Uri.UnescapeDataString。转义:stringencodedValue=Uri.EscapeDataString("R&R");NavigationService.Navigate(newUri("/newpage.xaml?key="+encodedValue,Urikind.Relative));取消转义:stringencodedValue=NavigationContext.QueryString["key"];stringval=Uri.UnescapeDataString(encodedValue);我不得不说@McGarnagle可能是简单数据的更好解决方案。也就是说,这也是一种非常快速和肮脏的方式。此方法也可以采用复杂的对象。我喜欢使用PhoneApplicationService.State,它是一个DictionaryPhoneApplicationService.State.add("KeyName",YourObject);然后在第二页,你做varyourObject=PhoneApplicationService.State["KeyName"];MSDNdocs如果你使用的是MVVM架构的话,注册Messenger后可以传递一个字符串。使用字符串(比如消息)变量创建模型类(比如PageMes??sage)。您想要将字符串从homepage.xaml传递到newpage.xaml,然后在homepage.xaml中发送这样的消息Messenger.Default.Send(newPageMes??sage{message="HelloWorld"});在newpage.xaml中,您的Messenger应该像这样注册,Messenger.Default.Register(this,(action)=>ReceiveMessage(action));privateobjectReceiveMessage(PageMes??sageaction){stringreceivedMessage=action.message;返回空值;通过MVVM架构中的任何导航。HY,另一种解决方案,根据您的需要创建一个具有一个或多个字符串类型属性的静态类,它增强了您需要的方式。查看Caliburn.micro。设置非常简单,允许您以强类型方式通过视图传递参数,如下所示:}http://caliburnmicro.codeplex.com/wikipage?title=Working%20with%20Windows%20Phone%207%20v1.1&referringTitle=Documentation以上就是C#学习教程的全部内容:WindowsPhone8中页面间传递字符串共享,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: