在我的Windows应用商店应用程序中,我可以通过将ApplicationLanguages.PrimaryLanguageOverride设置为我想要使用的语言环境来切换语言。
我为每种语言提供了不同的资源文件,它适用于从代码隐藏加载的重新加载的页面和资源。
但是现在缓存页面存在问题(NavigationCacheMode = Enabled):这些页面使用uid直接在xaml中本地化了文本,并且在语言更改时不会重新加载这些页面。
知道如何在不重新启动应用程序的情况下重新加载标记为uids的资源吗?
答案 0 :(得分:2)
对我来说,在切换primarylanguageoverride之后删除了类似的Navigationcache:
var Frame = Window.Current.Content as Frame;
Frame.CacheSize = 0;
Frame.Navigate(Frame.CurrentSourcePageType);
Frame.CacheSize = 10;
Frame.GoBack();
之后,以正确的语言重新加载当前页面。