3

在我的 Windows Store App 应用程序中,我可以选择通过将 ApplicationLanguages.PrimaryLanguageOverride设置为我要使用的语言环境来切换语言。

我对每种语言都有不同的资源文件,它适用于重新加载的页面和从代码隐藏加载的资源。

但是现在缓存页面(NavigationCacheMode = Enabled)存在问题:这些页面使用 uid 直接在 xaml 中本地化文本,并且在语言更改时不会重新加载这些页面。

知道如何在不重新启动应用程序的情况下重新加载标记为 uid 的资源吗?

4

1 回答 1

2

对我来说,在切换主要语言覆盖后像这样删除 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 回答