在 WPF 中设置 CurrentCulture 和 CurrentUICulture

Setting CurrentCulture AND CurrentUICulture in WPF

首先,我知道 WPF 文化问题的一般解决方案:Setting Culture (en-IN) Globally in WPF App

我的问题如下: 我有一个 IValueConverter 用于十进制数字和日期,对于它们,我在接口调用

中得到正确的 CultureInfo
object Convert(object value, Type targetType, object parameter, CultureInfo culture)

不过我还想将枚举值转换为 UI 文本。但是为此我需要 CurrentUICulture 而不是 CurrentCulture。当然我可以直接使用 Thread.CurrentThread.CurrentUICultureCultureInfo.CurrentUICulture 而忽略 CultureInfo

但这并不像是对界面的正确使用。

But that doesn't feel like proper usage of the interface.

是的。 IValueConverter 接口的实现应该转换 ,因此不关心任何 UICulture

因此,从转换器外部的来源获取 CurrentUICulture 实际上是一种正确的使用方法。 CurrentUICulture 未传递给 Convert 方法。