WP8 рдореЗрдВ рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░реАрди рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдЖрд╡реЗрджрди рдХреА рд╕реВрдЪреА рд╕реЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рд░рд╛рдЬреНрдп рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЗрддрд┐рд╣рд╛рд╕ рдХреА рдкреВрд░реА рдмрдЪрдд рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдХреНрд░реАрди рдХреА рдЯрд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡реЗрджрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрджреНрднреБрдд рдЕрд╡рд╕рд░ рд▓рд╛рдпрд╛, рдЖрд╡реЗрджрди рдмрдЯрди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧрд░ рдмрд╛рдж рдореЗрдВ рдХрд╣реАрдВ рднреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рд╣реЛрдЧрд╛)ред

рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬ 8 рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рддреЛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░реАрди рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдЯреАрдХ рд╕реНрдерд╛рди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдерд╛ред рдпрд╣ рдареАрдХ рдпрд╣реА рдкрд░рд┐рдгрд╛рдо рд╣реИ рдЬреЛ рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВрдЧреЗред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

WMAppManifest.xml


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ (рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡реНрдпреВ рд╕реЛрд░реНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ)ред рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ DefaultTask рддрддреНрд╡ рдХреЗ рд░рд┐рдЬреНрдпреВрдореЗ рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде ActivationPolicy рдирд╛рдордХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рддрд░рд╣:

<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume" /> 

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде, рдмрдбрд╝реЗ рдФрд░, рд╣рдордиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬрдм рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░реАрди / рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ, рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рд░рд╛рдЬреНрдп рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдХреЗ DefaultTask рддрддреНрд╡ рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рдирдкреЗрдЬ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреГрд╖реНрда рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЙрд╕рдХреЗ рдареАрдХ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЗрддрд┐рд╣рд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЫрд╡рд┐
рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЕрдм рд░рд╛рдЬреНрдп рдХреЛ рд╕рд╛рдл рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦрд░реЛрдВрдЪ рд╕реЗ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

App.xaml.cs


рдЕрдм рд╣рдореЗрдВ рдЖрд╡реЗрджрди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрдХреНрд░рдордг рдХреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд░рджреНрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ App.xaml.cs рдлрд╝рд╛рдЗрд▓ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЖрдк рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрд╕рдбреАрдХреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ MSDN рдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ)ред

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдПрдХ рдЧреИрд░-рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдПрдк рдХреНрд▓рд╛рд╕ рдореЗрдВ рдмреВрд▓рд┐рдпрди рдФрд░ рдЗрд╕реЗ _reset рдХрд╣рддреЗ рд╣реИрдВред

 private bool _reset; 

рдЕрдЧрд▓рд╛ рдХрджрдо рдирд┐рдЬреА рдЖрд░реЛрдЧреНрдпрдЗрдкрдлреЛрди рдПрдкрд┐рд▓реЗрд╢рди рд╡рд┐рдзрд┐ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдФрд░ рд░реВрдЯрдлреНрд░реЗрдо рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрд╡рд┐рдЧреЗрдЯ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд┐рдП рдЧрдП рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд░реИрдкрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред

 RootFrame.Navigating += RootFrame_Navigating; RootFrame.Navigated += RootFrame_Navigated; 

рдЕрдВрддрд┐рдо рдЪрд░рдг рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИред

 private void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e) { if (_reset && e.IsCancelable && e.Uri.OriginalString == "/MainPage.xaml") { e.Cancel = true; reset = false; } } private void RootFrame_Navigated(object sender, NavigationEventArgs e) { _reset = e.NavigationMode == NavigationMode.Reset; } 

рдФрд░ рд╡рд╣ рд╕рдм, рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм, рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдареАрдХ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рдЙрд╕рдиреЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рд╛ рдерд╛ред
рдЫрд╡рд┐
рдХреБрдЫ рд╣реА рдорд┐рдирдЯреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛ рджрд┐рдпрд╛ред



рдЖрдк рдЖрд╕-рдкрд╛рд╕ рднреА рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░, рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдмреИрдХ рдмрдЯрди рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд╡реАрдХреГрдд рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

 if (e.NavigationMode == NavigationMode.Reset) while (RootFrame.RemoveBackEntry() != null); 

рдЫрд╡рд┐
рдпрд╣ рд╕рдм, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЯрд┐рдкреНрдкрдгреА


рдореВрд▓ рд▓реЗрдЦ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдирд╣реАрдВ рдереЗ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрджрд╛рд▓рдд рдореЗрдВ рдкрд╛рдардХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЙрдЪрд┐рдд рд╕рдордЭрд╛ред

Source: https://habr.com/ru/post/In157379/


All Articles