рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд▓рд┐рдП рд╕реБрдбреЛрдХреВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдХрд░реЗрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ

рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬ 8.1 рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреА рдирдХрд▓ рдХреАред рдпрд╣ рд╕рдорд╛рдзрд╛рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рдЕрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ред рдлреЛрди рдкрд░ рдЧреЗрдо рдореЗрдВ, рдкреЗрдЬрд┐рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 4 рдкреЗрдЬ рдмрдирд╛рдП рдЧрдП:

рдЦреЗрд▓
GamePage рдкреЗрдЬ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдЧреЗрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛:
рд╕реНрд░реЛрдд рдХреЛрдбprotected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); GameState game = SettingsProvider.LoadSavedGame(); if (game == null) { NavigationService.Navigate(new Uri("/Pages/NewGame.xaml", UriKind.Relative)); } else {
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ,
SuspensionManager
рдХреНрд▓рд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╕рддреНрд░ рдмрдЪрдд рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдкреЗрдЬ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЖрдкрдХреЛ
NavigationHelperLoadState
рдФрд░
NavigationHelperSaveState
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
NavigationHelperLoadState
рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрдЪрдд рд░рд╛рдЬреНрдп рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдХреЛрдб private async void NavigationHelperLoadState(object sender, LoadStateEventArgs e) { try { if (SuspensionManager.SessionState.ContainsKey("game-data")) { string previousGame = SuspensionManager.SessionState["game-data"] as string; if (!string.IsNullOrEmpty(previousGame)) { GameStateModel game = GameStateModel.FromJson(previousGame); if (game != null) { LoadGameToBoard(game.ToGameState()); } } } } catch (FileNotFoundException fileNotFound) { } catch (Exception) { } }
рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдлреЛрди рдкрд░, рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред IsolatedStorageSettings рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг 2 рд╕реЗ рдЖрдИ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЦреЗрд▓ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреЛрдб public static GameState LoadSavedGame() { try { IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; if (settings.Contains(SavedGame)) { string previousGame = settings[SavedGame] as string; if (!string.IsNullOrEmpty(previousGame)) { GameStateModel game = GameStateModel.FromJson(previousGame); if (game != null) { return game.ToGameState(); } } } } catch (Exception exception) { } return null; }
рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдорд┐рд▓реАрдВ
рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдЖрдкрдХреЛ xaml рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдлреЛрдВрдЯ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред WP8 рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдРрд╕рд╛ рдХреЛрдб рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ:
<FontFamily x:Key="ThemeFontFamily">Segoe UI Light</FontFamily> <FontWeight x:Key="ThemeFontWeight">SemiLight</FontWeight>
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ WP8 рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдореИрдВ рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рди 8.1 (рдкреВрд░реНрдг, рднрд░рд╛, рддрдбрд╝рдХрдирд╛) рдХреЗ рд░реВрдк рдореЗрдВ 3 рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдирд╛рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕реБрдбреЛрдХреВ рдореЗрдВ, рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реАрди рдХреА рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдерд┐рддрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реИ (рдХреНрд╖реИрддрд┐рдЬ 99% рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА)ред
рд▓реЗрдЖрдЙрдЯ, рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рдХрд╛рд╢рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╕рдордп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рд╕рд╛рдЗрдЯ https://dev.windowsphone.com рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдирд╛рдо рдЖрд╡реЗрджрди рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ :)
рдкреНрд░рджрд░реНрд╢рди рдирд╛рдо рдФрд░
рдЯрд╛рдЗрд▓ рд╢реАрд░реНрд╖рдХ рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рд╣реИред рдкрд╣рд▓реЗ рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлреЛрди рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реВрдЪреАред рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯрд╛рдЗрд▓ рдкрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ MSDN рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХреЗ рд▓рд┐рдП рдРрдк рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХрд░реЗрдВ (рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ) - рд╣рдореЗрдВ рдПрдХ C ++ DLL рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП 2 рдлрд╝реАрд▓реНрдб: рдирд╛рдо рдФрд░ рд╢реАрд░реНрд╖рдХ рд╡рд╛рд▓реА рдПрдХ рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред рдкреНрд░рддреНрдпреЗрдХ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ dll рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдпрд╣ рджреБрдЦрдж рд╣реИред рд▓реЗрдХрд┐рди
WP8 рд▓реЛрдХрд▓рд╛рдЗрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред рдЙрдкрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдлрд╝реАрд▓реНрдб рднрд░реЗрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ dll рдмрдирд╛рдПрдВред рд╣рдордиреЗ рдХреБрдЫ рдШрдВрдЯреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдПред
рд╕рднреА dll рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕реЗ рд▓реИрдВрдЧреНрд╕ рдХрд╣рд╛ рдФрд░ рдЙрди рд╕рднреА рдХреЛ рд╡рд╣рд╛рдБ рд░рдЦ рджрд┐рдпрд╛ред
BuildAction = рд╕рд╛рдордЧреНрд░реА рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВред

WPAppManifest.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХреНрд░рдорд╢рдГ рдирд╛рдо рдФрд░ рдЯрд╛рдЗрд▓ рдХреЛ
@ Langs / AppResLib.dll, -100 рдФрд░
@ Langs / AppResLib.dll, -200 рдореЗрдВ рдмрджрд▓реЗрдВ ред

рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдЖрд╡реЗрджрди рдирд╛рдо рдФрд░ рдЯрд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
Xaml рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8 рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг 7 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдЙрдкрдХрд░рдг рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИрдВред рдмрдирд╛рдПрдБ рдпрд╛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рд╡рд░реНрдЧ рдЦреЛрдЬреЗрдВред
рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП, AppResources.LOCALE.resx рд╕рдВрд╕рд╛рдзрди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
AppResources.resx рдФрд░
AppResources.ru.resx )ред рджреВрд╕рд░рд╛ рдЪрд░рдг App.xaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рд╣реИ:
<Application.Resources> <winPhone8:LocalizedStrings xmlns:local="clr-namespace:Oxozle.Sudoku.WinPhone8" x:Key="LocalizedStrings"/> </Application.Resources>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо xaml рдореЗрдВ рдмрд╛рдБрдзрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддреЗ рд╣реИрдВред

рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдпрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рда рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рди рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреАред рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рдмрд╛рдЗрдВрдбрд┐рдВрдЧ) рдФрд░ рд╕рдВрд╕рд╛рдзрди рдХреЛрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ - рдбреЙрдЯ рд╕реАрдорд╛рдВрдХрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдкрд╛рда рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
<TextBlock Text="{Binding LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle}"/>
рдирдП рдЧреЗрдо рдкреЗрдЬ рдХреЗ рд▓рд┐рдП:

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд▓реЗрдЖрдЙрдЯ рдореЛрдб рдореЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ (рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдорд┐рд╢реНрд░рдг рдореЗрдВ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)
рдХреЛрдб рд╕реЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг
ApplicationBar рдмрд╛рдЗрдВрдбрд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп,
BuildLocalizedApplicationBar
рдкрджреНрдзрддрд┐ рдХрд╛ рдХреЛрдб
BuildLocalizedApplicationBar
рдЬрд╛рддрд╛
BuildLocalizedApplicationBar
ред рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд╛рдЗрдиреЗрдВ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
BuildLocalizedApplicationBar private void BuildLocalizedApplicationBar() {
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рд╡рд┐рдВрдбреЛрдЬ 8.1 рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдРрдк рд╡рд┐рдзрд┐ рдореЗрдВ app.xaml.cs рдкрд░,
InitializeLanguage
рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝реЗрдВред
рдЕрд╕реЗрдВрдмрд▓реАрдЗрдВрдлреЛ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╕реНрдХреГрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
[assembly: NeutralResourcesLanguageAttribute("en-US")]
рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЯреИрдм рдкрд░
WPAppManifest.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕реВрдЪреА, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрд╛рд╖рд╛ред

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

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ