´ÓµÚһƪ¿ªÊ¼ÎÒÃǾͿ´µ½ÁËÒ³ÃæµÄµ¼º½Çл»£¬ÉÏһƪÎÄÕÂÔò½éÉÜÁË¿ò¼ÜʵÏÖµ¼º½µÄÔÀíºÍ¹ý³Ì¡£ÕæÕýµÄµ¼º½¹¦ÄÜÊÇNavigationServiceÀàÀ´ÊµÏֵġ£¶øFrameÊÇPageµÄÔØÌ壬ÊǸºÔ𵼺½£¬ÀúÊ·¼Ç¼µÈ¹¦Äܵģ¬Ï൱ÓÚÒ»¸öÖ¸»Ó¹Ù¡£Õâһƪ¾ÍÖ÷Òª½éÉÜһϵ¼º½µÄ²Ù×÷ºÍÏà¹ØµÄһЩ·½·¨¡£
Ò» µ¼º½Ê±·¢Éú´íÎó
ĬÈϵÄÎÒÃǽ¨Á¢Ò»¸öWindows Phone³ÌÐò£¬Ê¹Óõ¼º½¹¦ÄÜÊDz»»á³öÏÖÕâ¸öÎÊÌâµÄ¡£ÎÒÃÇÏÈ¿´Ò»¸öÁÐ×Ó£º
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e) { // Set the root visual to allow the application to render if (RootVisual != RootFrame) //RootVisual = RootFrame; RootVisual = new MainPage(); // Remove this handler since it is no longer needed RootFrame.Navigated -= CompleteInitializePhoneApplication; } |
ÎÒÃÇн¨Ò»¸öÏîÄ¿ºó£¬²»°ÑFrameÉèÖõ½RootVsual£¬¶øÊÇÓÃMainPage¡£ÎÒÃÇ´ÓMainpageµ¼º½µ½Page1.
ʹÓÃÁ½ÖÖ·½·¨£º
private void Button_Click(object sender, RoutedEventArgs e) { ·½·¨1£ºthis.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); ·½·¨2£º(Application.Current as App).RootFrame.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); } |
µÚÒ»ÖÖ·½·¨ÊÇʹÓÃPageÒ³ÃæµÄNavigationSeviceÊôÐÔÀ´µ¼º½£¬µÚ¶þÖÖ·½·¨ÊÇʹÓÃFrame¶ÔÏóÀ´µ¼º½¡£´ÓÉÏһƪÎÒÃÇÖªµÀ£¬Á½ÖÖ·½·¨ÊÇÏàͬµÄ¡£½á¹ûÊÇʹÓõÚÒ»ÖÖ·½·¨·¢ÉúÁËNullReferenceException´íÎó£¬ÎªÊ²Ã´NavigationService¶ÔÏóÊǿգ¿ÎÒÃDz»ÊÇÔÚApp¹¹Ô캯ÊýÖоʹ´½¨¹ýNavigationServie¶ÔÏóµÄʵÀýÂ𣬲¢ÇÒÔÚ¼ÓÔØÁËXAMLÎļþºóÉèÖõ½ÁËÒÀÀµÊôÐÔÖС£
obj2.SetValue(NavigationServiceProperty, this); |
ÉÏһƪÎÄÕ½éÉܹý£¬PageµÄNavigationServiceÊôÐÔÊÇͨ¹ýÒÀÀµÊôÐÔ»ñµÃµÄ¡£ÆäʵÕâÀïÎÒÒªÁ˽âÒÀÀµÊôÐÔµÄÌØµã£¬ËäÈ»ÊÇÒ»¸östatic×Ö¶ÎÀ´Î¬»¤£¬µ«ÊÇÄÚ²¿ÊÇÓÐHash±íÀ´´æ·Å²»Í¬¶ÔÏóµÄÊôÐÔÖµ¡£ÎÒÃÇÔÚ¹¹Ô캯ÊýµÄLoad·½·¨ÖУ¬¼ÓÔØÁËÅäÖÃÎļþÖÐÖ¸¶¨µÄMainPage£¬²¢Éú³ÉÁËËûµÄʵÀý£¬È»ºóÉèÖÃÁËNavigationServiceProperty¡£¶øÕâÀïÎÒÃÇʹÓã¬MainPageµÄÊÇÒ»¸öеÄʵÀý£¬ËûµÄNavigationServicePropertyΪNull¡£ËùÒÔÕâÀﵱȻ»á±¨´íÁË¡£
¶øÇÒNavigationServicePropertyÊÇinternalÊôÐÔ£¬ËµÒÔÎÒÃDz»ÄÜÊÖ¶¯ÉèÖÃÁË¡£
´ÓÕâ¸öÒì³£ÎÒÃÇÄÜ·¢ÏÖ£¬Ã¿´Îµ¼º½µÄеÄÒ³Ãæ£¬ÔÚ¼ÓÔØÍê³ÉPageÖ®ºó£¬¶¼»áÉèÖÃPageµÄNavigationServicePropertyµÄÊôÐÔ¡£ËùÒÔ²¢²»ÊÇ´´½¨ÁËFrame£¬ÎÒÃǾÍÄÜʹÓÃNavigationServiceÀ´µ¼º½¡£¶øÊÇÐèÒªFrameÀ´°ÉPageºÍNavigationService¹ØÁªÆðÀ´¡£¶øÕâÀÎÒÃÇnewµÄMainpageûÓÐͨ¹ýFrame¼ÓÔØÏÔʾµÄ£¬ËùÒÔÎÞ·¨µ¼º½¡£
½ÓÏÂÀ´¿´¿´µÚ¶þÖÖ·½·¨¡£ÕâÀïʹÓõÄÊÇÎÒÃÇ´´½¨µÄRootFrame¶ÔÏó£¬ÒòΪ´ËʱFrameÒѾÍêÈ«¹¹ÔìºÃÁË£¬NavigationSeviceÒ²´´½¨ºÃÁË¡£ËùÒÔ´Ëʱµ÷ÓÃNavigate·½·¨ÊDz»»á±¨´íµÄ£¬¶øÇÒ·µ»ØµÄÊÇtrue¡£ÒòΪÕâÀï²»´æÔÚÑÓ³Ùµ¼º½£¬ËùÒÔ˵Ã÷ÊdzɹûÁË£¬µ«ÊÇΪʲôûÏÔÊ¾ÄØ£¿ÎÒÃǵã»÷¡¾<-¡¿Í˳ö³ÌÐò£¬µ«ÊǵãÁË2ϲÅÍ˳ö£¬Õâ˵Ã÷µ¼º½ÁËÂð£¿ÎÒÃÇÔÚ×ö¸öÊÔÑ飬ÎÒÃÇÔÚPage1ÖмÓÈëÒÔϵĴúÂë
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode != System.Windows.Navigation.NavigationMode.Back) { bool ret = (Application.Current as App).RootFrame.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); } } |
ÎÒÃÇÔÚ´ÓMainPageÓ÷½·¨2µ¼º½µ½Page1ºó£¬Ôڵ㡾<-¡¿Í˳ö³ÌÐò£¬ÏÖÔÚÒªµã3ÏÂÁË¡£ÎÒÃÇÒ²¿ÉÒÔÉèÖöϵãÀ´²é¿´£¬Êµ¼ÊÍê³ÉÁËMainPage->Page1->Page2µÄµ¼º½¡£µ±Ê±ÎªÊ²Ã´Ã»ÓÐÏÔÊ¾ÄØ£¿ºÜ¼òµ¥ÁË£¬ÒòΪPageҪͨ¹ýRootVisualÀ´ÏÔʾ£¬µ¼º½µÄ»°PageÐèÒªFrameÀ´¼ÓÔØµÄ£¬µ±ÎÒÃǰÑFrameÉèÖõ½RootVisualʱ£¬¾ÍÄÜÏÔʾ£¬¶øÕâÀïÎÒÃÇÉèÖõÄMainPage£¬ËäÈ»Frameµ¼º½ÁË£¬µ«Ã»Óб»ÏÔʾ³öÀ´¡£µ«ÊÇRootVisualÖ»ÄÜÉèÖÃÒ»´Î£¬ËùÒÔÕâÀïûÓа취ÈÃËûÏÔʾ³öÀ´ÁË¡£
ºÃÁË£¬µ½ÕâÀïÎÒÃǵ¼º½µÄÔÀí¾ÍÑо¿µ½ÕâÀͨ¹ý2¸ö´íÎóÎÒÃǽø²½²»Àí½âÁËFrameºÍPageµÄ¹ØÏµ¡£Ò²Ã÷È·ÁËFrameµ¼º½ºÍ¼ÓÔØPageµÄÕâÒ»¹¦ÄÜ¡£ÕâҲ˵Ã÷Ϊʲô±ØÐëÓÐFrame²ÅÄܵ¼º½¡£
¶þ µ¼º½µÄ¹ý³Ì
ÔÚÉÏÃæµÄÁÐ×ÓÖУ¬ÎÒÃÇ¿´µ½ÁËOnNavigatedTo·½·¨£¬µ±µ¼º½µ½Page1ʱ×Ô¶¯µ¼º½µ½ÁËPage2¡£ÎÒÃÇÖªµÀÒ»¸öPageµ¼º½µ½ÁíÒ»¸öPageʵ¼ÊÊÇÒ»¸öÐ¶ÔØºÍ×°ÔØµÄ¹ý³Ì¡£ÔÚÕâ¸ö¹ý³ÌÖлᴥ·¢Ò»ÏµÁеÄʼþºÍ·½·¨£¬ÏÂÃæÎÒÃǾÍÀ´¿´ÏÂÕâЩ·½·¨¡£
public class Page : UserControl { // Methods internal Page(); internal void InternalOnFragmentNavigation(FragmentNavigationEventArgs e); internal virtual void InternalOnNavigatedFrom(NavigationEventArgs e); internal virtual void InternalOnNavigatedTo(NavigationEventArgs e); internal void InternalOnNavigatingFrom(NavigatingCancelEventArgs e); protected virtual void OnFragmentNavigation(FragmentNavigationEventArgs e); protected virtual void OnNavigatedFrom(NavigationEventArgs e); protected virtual void OnNavigatedTo(NavigationEventArgs e); protected virtual void OnNavigatingFrom(NavigatingCancelEventArgs e); } |
ÔÚPageÀàÖУ¬ÎÒÃÇ¿´µ½Á˺͵¼º½Ïà¹ØµÄ4¸öprotectedÐé·½·¨¡£¶ÔÓ¦ÓÐ4¸öinternalµÄ·½·¨£¬ËûÃÇÊÇÔÚʼþ·¢ÉúµÄʱºò´¥·¢µÄ£¨ÏµÍ³ÒѾ¸øÎÒÃǰó¶¨ÁË£©£¬ËûÃÇʵÏֺܼòµ¥£¬¾ÍÊǵ÷ÓÃÕâÀïµÄÐé·½·¨¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÖØÐ´ÕâЩÐé·½·¨À´¿ØÖÆ¡£¶øÔÚPhoneApplicationPageÀàÖÐûÓÐÖØÐ´ÕâЩ·½·¨£¬Ò²Ã»ÓмÓÈëÆäËüÏà¹ØµÄ·½·¨¡£
ÔÚÎÒÃÇDemo3µÄPhoneApp3ÖÐÎÒÃÇÔÚMainPageºÍPage1ÖØÐ´Õ⼸¸ö·½·¨£º
protected override void OnFragmentNavigation(System.Windows.Navigation.FragmentNavigationEventArgs e) { Debug.WriteLine("{0}:OnFragmentNavigation", this.ToString()); base.OnFragmentNavigation(e); } protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedTo", this.ToString()); base.OnNavigatedTo(e); } protected override void OnNavigatingFrom(System.Windows.Navigation.NavigatingCancelEventArgs e) { Debug.WriteLine("{0}:OnNavigatingFrom", this.ToString()); base.OnNavigatingFrom(e); } protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedFrom", this.ToString()); base.OnNavigatedFrom(e); } |
Æô¶¯³ÌÐò£¬´ÓMainPageµ¼º½µ½Page1: Êä³öÈçÏ£º
PhoneApp3.MainPage:OnNavigatedTo PhoneApp3.MainPage:OnNavigatingFrom PhoneApp3.MainPage:OnNavigatedFrom PhoneApp3.Page1:OnNavigatedTo |
µã»÷¡¾<-¡¿°´Å¥£¬Êä³öÈçÏ£º
PhoneApp3.Page1:OnNavigatingFrom PhoneApp3.Page1:OnNavigatedFrom PhoneApp3.MainPage:OnNavigatedTo |
ÔÚµã»÷¡¾<-¡¿°´Å¥Í˳ö³ÌÐò£¬Êä³öÈçÏ£º
PhoneApp3.MainPage:OnNavigatingFrom PhoneApp3.MainPage:OnNavigatedFrom |
ºÃ°É£¬ÕâЩ·½·¨µÄÖ´ÐÐ˳ÐòºÜÇå³þÁË£¬ÎҾͲ»ÓÃʲô½éÉÜÁË¡£²»Çå³þ¿ÉÒÔ¿´MSDN¡£²»¹ýÕâÀïÃüÃûºÜÈÝÒ×ÈÃÈ˲úÉúÎó½â¡£ÎÒ¿ªÊ¼¾ÍŪ·´ÁË¡£ÕâÀïToºÍFromÏà¶ÔµÄ¶ÔÏó¶¼Êǵ±Ç°µÄÒ³Ãæ¡£OnFragmentNavigation
·½·¨£¬ÔÚµ¼º½µ½°üÀ¨Æ¬¶ÏµÄͳһ×ÊÔ´±êʶ·û (URI) ʱ»á·¢Éú¡£Ò»¸öƬ¶ÏÊÇÆ¬¶Ï·Ö¸ô·û (#) ºóµÄÖµ¡£Õâ¸öºóÃæÔÚ½éÉÜ¡£
Èý Ò³Ãæ´«Öµ
ºÍWebÒ»Ñù£¬ÎÒÃÇÔÚµ¼º½¹ý³ÌÖпÉÄÜÐèÒª´«µÝÖµ£¬¶ÔÓÚWinForm³ÌÐòÀ´Ëµ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýFormµÄ¹¹Ô캯Êý´«Öµ£¬¿ÉÒÔ¶¨Ò嶨ÒåÈ«¾Ö±äÁ¿µÈ¶àÖÖ·½·¨£¬¶ÔÓÚWeb£¬ÎÒÃÇ¿ÉÒÔÓÐQueryString£¬Cookies£¬SessionµÈ·½·¨£¬ÔÚÕâÀïÎÒÃÇ¿ÉÒÔÓÃÀàËÆµÄ·½·¨´«µÝ£¬ÕâÀïÎÒÃǽáºÏµ¼º½µ½¹ý³ÌÀ´½øÐÐÖµµÄ´«µÝ¡£ÕâÀïÎÒÃǵ¼º½Ê±²»ÄÜͨ¹ý¹¹Ô캯Êý´«µÝ£¬Ò²ÎÞ·¨Ê¹ÓÃCookiesºÍSession¡£
ÎÒÔÚDemo3µÄPhoneApp4ÖУ¬MainPageºÍPage1·ÅÖÃÁË5¸öTextBox£¬Ã¿¸ö¶ÔÓ¦Ò»ÖÖ´«µÝ·½Ê½£º
1 È«¾Ö±äÁ¿´«µÝ
Õâ¸ö·½·¨ÔÚWinFormºÜ³£¼û£¬ÎÒÃÇÔÚAppÀàÖж¨ÒåÒ»¸ö±äÁ¿£¬AppÊÇÒ»¸öÈ«¾Ö¶ÔÏó£¬ËùÒÔ¿ÉÒÔ¶¨ÒåÔÚÕâÀï¡£
public partial class App : Application { public string StaticVar { get; set; } //È«¾Ö±äÁ¿ public PhoneApplicationFrame RootFrame { get; private set; } public App() { } |
ÔÚMainpageµÄOnNavigtedFrom·½·¨ÖУ¬°Ñs1µÄÖµ´«µÝ¸øÈ«¾Ö±äÁ¿£¬s1µÄÖµÀ´Ô´ÓÚTextBox1¡£µ±È»Äã¿ÉÒÔÔÚµ¼º½Ç°ÈÎÒâʱ¿Ì»ñÈ¡TextBoxµÄÖµ£¬ÕâÀïÖ»ÊÇÑÝʾµ¼º½·½·¨¡£
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedFrom", this.ToString()); base.OnNavigatedFrom(e); s1 = textBox1.Text; //È«¾Ö±äÁ¿´«µÝ (Application.Current as App).StaticVar = s1; } |
ÔÚPage1µÄOnNavigatedTo·½·¨ÖнÓÊܲ¢ÏÔʾ¡£Í¬Ñù£¬Äã¿ÉÒÔÔÚµ¼º½µ½Page1ºóµÄÈÎÒâʱ¿ÌÀ´»ñÈ¡²¢ÏÔʾ£¬ÕâÀïÒ²ÊÇΪÁËÑÚÊ½·½·¨¡£
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedTo", this.ToString()); base.OnNavigatedTo(e); //´ÓÈ«¾Ö±äÁ¿½ÓÊÜ s1 = (Application.Current as App).StaticVar; textBox1.Text = s1; } |
ʹÓÃÈ«¾Ö±äÁ¿ºÜ·½±ã£¬µ«ÊÇÕ¼ÓÃÄÚ´æ¿Õ¼ä£¬²¢ÇÒ´æÔÚ¶ªÊ§µÄ¿ÉÄÜ¡£Õâ¸öÒÔºóÎļþ»á½éÉÜ¡£
2 Ò³ÃæQueryString´«Öµ
ÒòΪÕâÀïµ¼º½ºÍWebÏàËÆ£¬ËùÒÔÎÒÃÇÒ²¿ÉÒÔÓÃUriºó¼ÓÉÏQueryStringµÄ´«Öµ·½Ê½¡£ÎÒÃÇÕâÀïʹÓÃTextBox2.
Ê×ÏÈÐ޸ĵ¼º½°´Å¥´úÂ룬ÎÒÃDZØÐëÔÚµ¼º½Ç°£¬¹¹ÔìºÃµ¼º½µÄUri£¬²¢ÇÒÒª»ñÈ¡TextBox2µÄÖµ¡£QueryString¸ñʽΪ
Name1=Value1&Name2=Value2£¬¶à¸ö²ÎÊýÓÃ&¼ä¸ô¿ª¡£
private void button1_Click(object sender, RoutedEventArgs e) { //¹¹ÔìQueryString s2 = textBox2.Text; string uri = "/Page1.xaml?s2=" + s2; //µ¼º½ this.NavigationService.Navigate(new Uri(uri, UriKind.Relative)); } |
¶øÔÚPage1Ò³Ãæ£¬ÎÒÃÇͨ¹ýNavigationContextÊôÐÔµÄQueryString»ñµÃ´«µÝµÄÖµ¡£ÕâÀïÊÇ·µ»ØµÄÊÇIDictionaryÀàÐÍ£¬ÔÚʹÓÃǰ£¬±ØÐë¼ì²éName¶ÔÓ¦µÄ±äÁ¿ÊÇ·ñ´æÔÚ¡£
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedTo", this.ToString()); base.OnNavigatedTo(e); //´ÓUri½ÓÊÜ IDictionary<string, string> queryString = this.NavigationContext.QueryString; if (queryString.ContainsKey("s2")) { s2 = queryString["s2"]; } //ÏÔʾµ½UI textBox2.Text = s2; } |
ʹÓÃQueryString¿ÉÒÔ´«µÝÉÙÁ¿Êý¾Ý£¬ÒòΪUri³¤¶ÈÊÇÓÐÏÞÖÆµÄ£¬²¢ÇÒÖ»ÄÜ´«µÝ¼òµ¥ÀàÐÍ£¬Èç¹ûÒª´«µÝ×Ô¶¨ÒåÀà¶ÔÏ󣬾Ͳ»ÊÊÓÃÁË¡£ÁíÍâ´«µÄÊÇstringÀàÐÍ£¬ËùÒÔ¿ÉÄÜÐèÒª½øÐÐÀàÐÍת»¯¡£ÔÚÎÒÃǵ¼º½µÄʱºò£¬»á½¨Á¢Ò»¸öJournalEntry¶ÔÏ󣬵±ÐµÄxamlÒ³Ãæ¼ÓÔØÍêºó£¬»áÈ¥½âÎöURIÖеÄQueryStringÊý¾Ý´æÈëµ½ÆäÖС£
JournalEntry.SetNavigationContext(obj2, new NavigationContext(UriParsingHelper.InternalUriParseQueryStringToDictionary |
3 PhoneApplicationServiceÀà
Èç¹ûÎÒÃÇÐèÒª´«µÝ×Ô¶¨ÒåÀàÐÍÊý¾Ýʱ£¬¾ÍÐèÒªÓõ½Õâ¸ö¶ÔÏ󡣯äʵÕâ¸ö¶ÔÏóÎÒÃDz¢²»ÊǺÜİÉú£¬ÔÚÇ°ÃæÎÒÃǾͽéÉܹýËûʵÏÖÁËIApplicationService¾Í½Ó¿Ú£¬ÎªSilverlight³ÌÐò¹©ÁËÀ©Õ¹¹¦ÄÜ£¬±ÈÈçÇ°ÃæAppÖÐÆô¶¯Ê±Application_Launching£¬Application_ActivatedµÈËĸö·½·¨¡£ÔÚÕâÀïËûÔÚÄÚ²¿ÌṩÁËÒ»¸ö×ÖµäÀ´Î¬»¤Ò»Ð©È«¾ÖµÄÊý¾Ý£º
public IDictionary<string, object> State { get; } |
ËùÒÔÎÒÃDz»ÐèÒª×Ô¼ºÈ¥¶¨ÒåÈ«¾Ö±äÁ¿£¬¶ø¿ÉÒÔÖ±½ÓʹÓÃËû£¬Í¨¹ýPhoneApplicationService.Current.State¾ÍÄÜ·ÃÎʵ½Õâ¸ö×ֵ䡣ÎÒÃÇÕâÀïʹÓÃTextBox3À´ÑÝʾ¡£ÔÚMainPageÖаÑTextBox3»ñµÃµÄÖµ£¬ÉèÖõ½×ÖµäÖУ¬×¢Ò⣬ÕâÀïµÄKeyÐèÒªÊÇΨһµÄ¡£ÁíÍâÎÒÃÇʹÓÃʱҪÒýÈëÒÔÏÂÃüÃû¿Õ¼ä¡£
using Microsoft.Phone.Shell; |
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedFrom", this.ToString()); base.OnNavigatedFrom(e); s3 = textBox3.Text; //ʹÓÃPhoneApplicationService´«µÝ PhoneApplicationService.Current.State["s3"] = s3; } |
ÎÒÃÇÔÚPage1ÖУ¬ÎÒÃÇÈ¡µÃs3µÄÖµ2£¬ÕâÀïÎÒÃDzÉÓÃÁËTryGetValueÀ´»ñµÃÖµ£¬µ±È»Ò²ÄÜʹÓÃQueryStringÖеķ½·¨¡£Á½Õß¶¼ÄÜʵÏÖ¡£TryGetValueÐÔÄܸü¸ß¡£
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedTo", this.ToString()); base.OnNavigatedTo(e); //´ÓPhoneApplicationService»ñµÃÊý¾Ý object objS3; PhoneApplicationService.Current.State.TryGetValue("s3", out objS3); if (objS3 != null) { s3 = Convert.ToString(objS3); } //ÏÔʾµ½UI textBox3.Text = s3; } |
ÕâÀïÎÒÃÇҪעÒ⣬ÕâÀïÊÇobjectÀàÐÍ£¬ËùÒÔÔÚ¶ÁÈ¡Êý¾Ýʱ£¬´æÔÚÀàÐÍת»»¡£ÁíÍ⣬ÕâÀï´«µÝµÄ¶ÔÏ󣬱ØÐëÊÇ¿ÉÒÔÐòÁл¯µÄ¶ÔÏó¡£
4 ¶ÀÁ¢´æ´¢´«µÝ
ʹÓöÀÁ¢´æ´¢IsolatedStorageSettingsÀàʱ£¬ÐèÒªÒýÓÃÒÔÏÂÃüÃû¿Õ¼ä¡£ÎÒÃÇÔÚMainPageÖÐʹÓÃËýÀ´±£´æTextBox4µÄÖµ¡£
using System.IO.IsolatedStorage; |
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedFrom", this.ToString()); base.OnNavigatedFrom(e); s4 = textBox4.Text; //ʹÓöÀÁ¢´æ´¢ IsolatedStorageSettings.ApplicationSettings["s4"] = s4; } |
ÔÚPage1Ò³Ãæ£¬ÎÒÃÇ»ñÈ¡S4µÄÖµ£¬ÕâÀïÎÒÃDzÉÓÃTryGetValue<>£¬ÕâÊÇÒ»¸ö·ºÐÍ·½·¨£¬´Ó°²È«ºÍÐÔÄÜÉ϶¼±È½ÏºÃ¡£
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { Debug.WriteLine("{0}:OnNavigatedTo", this.ToString()); base.OnNavigatedTo(e); //´Ó¶ÀÁ¢´æ´¢»ñµÃÊý¾Ý IsolatedStorageSettings.ApplicationSettings.TryGetValue<string>("s4", out s4); textBox4.Text = s4; } |
¿´ÆðÀ´Ò²Ã»ÓÐÊ²Ã´ÌØ±ð¡£ÎÒÃÇÔÚMainPageµÄOnNavigatedToÒ²¼ÓÈëÉÏÃæPage1ÖеĴúÂ룬ÎÒÃÇ´ÓMainPageµ¼º½µ½Page£¬ÈúóÔڹرճÌÐò£¬ÔÚÖØÐÂÆô¶¯¡£ºÙºÙ¡£¾¹È»ÔÚMainpageÖоÍÏÔʾÁËTextBox4֮ǰµÄÖµ¡£ÕâÊÇÒòΪ¶ÀÁ¢´æ´¢°ÑÖµ´æµ½Á˱¾µØ£¬ËùÒÔ¼´±ã³ÌÐò¹Ø±ÕÒ²²»»á¶ªÊ§£¬¶øÇ°ÃæÔò´æÔÚ¶ªÊ§µÄÎÊÌâ¡£¶ÔÓÚÈ«¾Ö±äÁ¿ºÍQueryString£¬¼´±ã³ÌÐò²»ÍêÈ«¹Ø±Õ£¬Ò²ÊÇ´æÔÚ¶ªÊ§µÄ¿ÉÄÜ¡£ËùÒÔÒ»°ãÀ´Ëµ£¬ÎÒÃÇʹÓÃIsolatedStorageSettingsÀ´´æ´¢³ÌÐòµÄһЩÅäÖÃÐÅÏ¢¡£µ±È»ÎÒÃÇ»¹ÄÜÑ¡ÔñFileºÍDatabaseµÈ·½Ê½À´´«µÝÊý¾Ý£¬µ±È»¶ÔÓÚÒ³Ãæ´«ÖµÀ´Ëµ¾ÍÓе㲻̫Êʺϡ£

ÒÔÉÏÊǸ÷ÖÖ·½Ê½´«ÖµµÄ½á¹û¡£
ËÄ ×ܽá
ÕâһƪÎÄÕÂÊ×ÏȼÌÐøÌ¸ÁËFrameºÍPageµÄ¹ØÏµ£¬ È»ºó½éÉÜÁËÔÚµ¼º½Ê±»á´¥·¢µÄʼþ·½·¨£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÖØÐ´ÕâЩ·½·¨À´¿ØÖÆÒ³ÃæµÄÏÔʾ£¬±ÈÈç½øÐÐÖµµÄ´«µÝ¡£Ò²Ïêϸ½éÉÜÁËÖµ´«µÝµÄËÄÖÖ·½·¨ºÍʹÓõĻ·¾³¡£ÔÚÏÂһƪÎÄÕ½«¼ÌÐø½éÉܵ¼º½µÄÆäËû³£Ó÷½·¨ÒÔ¼°»ØÍ˼ü£¬»¹ÓÐÌØÊâÒ³ÃæµÄ»ØÍË´¦Àí¡£
|