Ändern Sie die App-Sprache bei RunTime on-the-fly

9

Ich entwickle gerade eine Metro-App, in der der Benutzer die aktuelle Sprache zur Laufzeit ändern kann und alle benutzerdefinierten Steuerelemente, die geladen werden, ihren Text in Bezug auf die neue Sprache aktualisieren müssen. Problem ist, dass wenn ich die Sprache mit dem folgenden Code ändere, die App-Sprache ändert, aber es aktualisiert nur Text, wenn ich meine App neu starte, weil die Seiten und Steuerelemente, die bereits gerendert werden, zwischengespeichert werden.

%Vor%

Was muss ich tun, um das Aktualisieren aller benutzerdefinierten Steuerelemente zur Laufzeit zu erzwingen, ohne meine App neu zu starten?

    
Muhammad Umar 03.12.2013, 07:13
quelle

3 Antworten

2

Verwenden Sie dies:

%Vor%

und laden Sie dann Ihre Seite neu, indem Sie die Navigate-Methode verwenden:

%Vor%     
CSharper 20.06.2014, 06:51
quelle
1

Um sofort reagieren zu können, müssten Sie den Kontext des Ressourcenmanagers zurücksetzen.

Für Windows 8.1:  var resourceContext = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView ();

resourceContext.Reset ();

Sie müssen Ihre Seite weiterhin zwingen, sich neu zu zeichnen, und die Ressourcen erneut anfordern, damit die Änderungen ausgeführt werden. Für Windows 8 sehen Sie Ссылка

    
Eric MSFT 03.12.2013 22:13
quelle
1

Sie können die Sprache der App zur Laufzeit mit Hilfe des Quellcodes ändern. Ich nahm Hilfe von diesem und manipulierte die Seite mit den Spracheinstellungen meiner App wie folgt:
In languageSettings.xaml.cs:

%Vor%

*** Hinweis: Bevor Sie verstehen, was ich auf dem Seitencode der LanguageSettings-Seite getan habe, müssen Sie die Codes aus dem Link implementieren, wie bereits erwähnt. Und es kann auch bemerkt werden, dass ich am Windows Phone 8 arbeite.

    
Tasnim Fabiha 13.03.2017 08:33
quelle

Tags und Links