大佬教程收集整理的这篇文章主要介绍了silverlight – Windows Phone 7:使用URI进行逻辑删除?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是,我不太清楚如何做到这一点.我正在考虑将NavigationContext.QueryString保存到App.xaml.cs :: Application_Deactivated()中的State字典中,但该代码无权访问NavigationContext.QueryString.还有其他方法可以做到这一点吗?
我想我每次导航时都可以将查询字符串保存到状态字典中,然后在重新激活应用程序时将其恢复.还是有更好的方法?
更新:根据indyfromoz的回答,我想实现以下内容
OnNavigatedToHandler() { // save NavigationContext.QueryString in the State Dictionary }
为了减少冗余,我想我会在一个继承自PhoneApplicationPage的类中实现它,然后让我的所有其余页继承自该类.但是,我得到的问题是所有页面类都是部分的,因为它们也是在生成的代码中定义的.我不想更改生成的代码,因为每次重新生成代码时都会重新进行修改,这将是一个巨大的痛苦.
更新2:这是我现在在我的应用程序的主页面(在启动时导航到的那个)中一起攻击的内容:
public partial class MainPivot : PhoneApplicationPage { public MainPivot() { InitializeComponent(); Loaded += new RoutedEventHandler(MainPivot_Loaded); PhoneApplicationservice.Current.Deactivated += new EventHandler<DeactivatedEventArgs>(App_Deactivated); messageBox.Show("launching main pivot (state count: " + PhoneApplicationservice.Current.State.Count + ")"); if (PhoneApplicationservice.Current.State.Count != 0) { Debug.Assert(PhoneApplicationservice.Current.State.ContainsKey(QueryStringKey),"State is initialized,but contains no value for the query String"); String oldQueryString = (String)PhoneApplicationservice.Current.State[QueryStringKey]; messageBox.Show("Old query String: " + oldQueryString); Navigationservice.Navigate(new Uri(oldQueryString)); } } public readonly String QueryStringKey = "queryString"; void App_Deactivated(object sender,DeactivatedEventArgs E) { PhoneApplicationservice.Current.State[QueryStringKey] = Navigationservice.source; } // ...
它有效(sorta),但它很难看.
更新3:看起来wP7操作系统将自动在基于页面的应用程序中重新加载正确的页面.我实际上是在使用页面,所以也许我在这里做的工作不多.
但是,它似乎没有起作用.我启动应用程序,转到页面,点击“开始”,然后点击“返回”.屏幕显示“正在恢复……”但似乎挂在那里.我的代码在这一点上应该以某种方式响应吗?有没有办法,即使在点击“开始”后我仍然可以保持调试器的连接?
HTH,indyfromoz
以上是大佬教程为你收集整理的silverlight – Windows Phone 7:使用URI进行逻辑删除?全部内容,希望文章能够帮你解决silverlight – Windows Phone 7:使用URI进行逻辑删除?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。