3

私の Windows ストア アプリ アプリケーションには、 ApplicationLanguages.PrimaryLanguageOverrideを使用したいロケールに設定することで、言語を切り替えるオプションがあります。

言語ごとに異なるリソース ファイルがあり、リロードされたページとコード ビハインドからロードされたリソースに対しては正常に機能します。

しかし、キャッシュされたページ ( NavigationCacheMode = Enabled )に問題があります。これらのページには、uid を使用して xaml で直接ローカライズされたテキストがあり、言語が変更されたときに再読み込みされません。

アプリを再起動せずに uid としてタグ付けされたリソースをリロードする方法はありますか?

4

1 に答える 1

2

私にとっては、primarylanguageoverride を切り替えた後、そのように Navigationcache を削除する作業を行いました:

    var Frame = Window.Current.Content as Frame;
    Frame.CacheSize = 0;
    Frame.Navigate(Frame.CurrentSourcePageType);
    Frame.CacheSize = 10;
    Frame.GoBack();

その後、現在のページが正しい言語で再読み込みされます。

于 2015-02-06T13:27:43.467 に答える