在 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.CurrentUICulture
或 CultureInfo.CurrentUICulture
而忽略 CultureInfo
。
但这并不像是对界面的正确使用。
But that doesn't feel like proper usage of the interface.
是的。 IValueConverter
接口的实现应该转换 值 ,因此不关心任何 UICulture
。
因此,从转换器外部的来源获取 CurrentUICulture
实际上是一种正确的使用方法。 CurrentUICulture
未传递给 Convert
方法。
首先,我知道 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.CurrentUICulture
或 CultureInfo.CurrentUICulture
而忽略 CultureInfo
。
但这并不像是对界面的正确使用。
But that doesn't feel like proper usage of the interface.
是的。 IValueConverter
接口的实现应该转换 值 ,因此不关心任何 UICulture
。
因此,从转换器外部的来源获取 CurrentUICulture
实际上是一种正确的使用方法。 CurrentUICulture
未传递给 Convert
方法。