在Windows应用商店应用中运行时切换语言

时间:2013-06-10 11:17:35

标签: localization winrt-xaml

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

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

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

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

1 个答案:

答案 0 :(得分:2)

对我来说,在切换primarylanguageoverride之后删除了类似的Navigationcache:

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

之后,以正确的语言重新加载当前页面。