【问题标题】:How to fix CurrentUICulture when creating Threads创建线程时如何修复 CurrentUICulture
【发布时间】:2012-04-07 14:10:15
【问题描述】:

我正在使用CurrentUICulture 进行本地化。这工作得很好,直到在不同的线程中查询 UI 文化。 所以我的问题是如何修复CurrentUICulture,以便在我创建新线程时也可以修复它。

目前我在应用程序启动的第一行设置Thread.CurrentThread.CurrentUICulture

谢谢

【问题讨论】:

  • 那个“不同的”线程是如何以及何时创建的?
  • 这是由于异步 Web 服务调用完成。但我正在寻找一种解决方案,我不需要一次又一次地设置 CurrentUICulture ...
  • 不确定您是否已经看过this question,但答案可能是无法为所有子线程设置它。
  • 谢谢。我没有看到这个问题。看看我是否无法在每次 web 服务调用后设置文化 - 或将调用调度到 UI 线程。不知道哪个是更好的解决方案。但无论如何。谢谢
  • 再看看,还有这个How does .Net process get the Culture information。尽管问题似乎与流程有关,但答案却专门针对线程文化。

标签: c# wpf localization currentuiculture


【解决方案1】:

CurrentUICulture 仅与加载资源相关,因此通常只与 GUI 线程相关。

当您在另一个线程上需要它(我假设加载 StringTable 资源)时,这可能表明您的主要架构有问题。它通常不应该发生。

但如果您真的需要它,应该可以使用一些静态变量来保存您的 CultureInfo 和/或资源块。

【讨论】:

  • 谢谢亨克。问题是,我正在实现一个错误处理,我在其中本地化错误消息以响应 web 服务调用。所以我肯定在另一个线程中,我不想每次都设置 UI 文化。但我觉得我绕不过去……
猜你喜欢
  • 1970-01-01
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2019-10-01
相关资源
最近更新 更多