私のアプリの言語を変更するには以下のコードがありますが、それは信頼できないと判明しています。私のアプリケーションは、MainPageとUserControlsの束で構成され、ページの作成時に読み込まれます。ページ上のボタンを押して言語を変更すると、言語が変わるかどうかは50/50です。通常、MainPageの言語はかなり信頼性が高くなりますが、UserControlsは非常に信頼性がありません。信頼性を向上させるためにできることはありますか?UWPアプリの言語を変更すると気分が悪い
また、次の方法では、ページを再読み込みすると不快なちらつきが発生します。
言語を変更した後にアプリケーションを再起動すると、すべてが正しく表示されます。
string lang = newLanguage;
ApplicationLanguages.PrimaryLanguageOverride = lang;
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForViewIndependentUse().Reset();
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Reset();
Frame.Navigate(Frame.CurrentSourcePageType, null);
UserControlsは、希望どおりに言語を変更しません。ページ全体をリロードする必要があります。しかし、文字列のリストをDependencyPropertyおよびx:OneWayモードでバインドして、XAMLのUserControlsにバインドすることができます。あなたがしなければならないことは、言語を変更したいときはいつでもそのリストを変更することだけです。 –