WP7备注(12)(页面数据共享)
2011-04-27 13:27 血糯米Otomii 阅读(255) 评论(0) 编辑 收藏 举报通过App实现数据共享:
数据声明:
public partial class App : Application { public Color? SharedColor { set; get; } }
存取数据方法:
(Application.Current as App).SharedColor
通过OnNavigatedFrom实现数据交互:
当OnNavigatedFrom调用的时候,NavigationEventArgs对象中的Content为被跳转的页面,所以可以把数据保存到被跳转页面的一个变量中,以保存
protected override void OnNavigatedFrom(NavigationEventArgs args) { if (ContentPanel.Background is SolidColorBrush) { Color clr = (ContentPanel.Background as SolidColorBrush).Color; if (args.Content is MainPage) (args.Content as MainPage).ReturnedColor = clr; } base.OnNavigatedFrom(e); }
PhoneApplicationService(不建议,太脑残了):
PhoneApplicationService为所有App的整体Service
当按了Start后,App进入墓碑状态,这时直接点Back,可以直接回到这个App,但是如果又打开个新的实例并关闭的时候,原来的这个App的数据将被清空
储存:
PhoneApplicationService.Current.State["Color"] = clr;
读取:
if (PhoneApplicationService.Current.State.ContainsKey("Color"))
{
Color clr = (Color)PhoneApplicationService.Current.State["Color"];
}