WPF资源刷新问题

WPF资源刷新问题,wpf,resources,Wpf,Resources,我从这个线程使用多语言解决方案 但在语言更改后,我无法自动刷新资源。 旧字符串保留在旧语言中,新字符串被正确地遍历 解决此问题的最简单解决方案是什么,例如刷新应用程序中的所有资源?我找到的最简单的解决方案是只需重新打开窗口-如果使用MVVM,所有状态(或重要状态)都会保留在ViewModel中,并且只刷新视图 我没有使用您链接到的扩展,但是这些更高级的系统都应该自动处理刷新。在我的例子中,我只是使用了对资源的{x:Static res:ResourceName}引用,并在语言更改时刷新视图。当然

我从这个线程使用多语言解决方案 但在语言更改后,我无法自动刷新资源。 旧字符串保留在旧语言中,新字符串被正确地遍历


解决此问题的最简单解决方案是什么,例如刷新应用程序中的所有资源?

我找到的最简单的解决方案是只需重新打开窗口-如果使用MVVM,所有状态(或重要状态)都会保留在ViewModel中,并且只刷新视图


我没有使用您链接到的扩展,但是这些更高级的系统都应该自动处理刷新。在我的例子中,我只是使用了对资源的{x:Static res:ResourceName}引用,并在语言更改时刷新视图。当然,我不允许在更复杂的屏幕中更改语言…:)

我也参与过本地化工作。问题是你在应用程序运行时对文化信息所做的更改不会显示在UI中。控件的值确实会更改,但更改不会通知控件的ui。因为就我在谷歌上搜索这一点而言,我还没有为离线应用程序找到一个合理的解决方案。即使是InitializeComponents也不起作用

唯一的解决方案,尽管我不太喜欢,是改变区域性,然后启动一个批处理,该批处理将关闭并用所选的cultureinfo重新启动应用程序


我不喜欢这样做的原因是因为您依赖于外部文件(批处理),而不是所有应用程序都可以像那样重新启动。但它可能会起作用。

1。我不能重新打开窗户;2.我有同样的问题,在托盘菜单;您的解决方案将重新打开应用程序。我的解决方案当然适合我的情况;您链接到的扩展在其codeplex页面中说“将语言切换到运行时不会影响时间片”,但我不会说这种语言,也不能确定它是否应该支持动态更改语言。在切换到静态资源引用之前,我确实使用过类似的产品,改变语言确实有效,但实现得很差,我放弃了。你应该和该产品的作者一起考虑,因为他们应该能够提出解决方案——事实上,这应该一直是我的答案。