C# 在WPF中设置CurrentCulture和CurrentUICulture

C# 在WPF中设置CurrentCulture和CurrentUICulture,c#,wpf,cultureinfo,C#,Wpf,Cultureinfo,首先,我知道WPF文化问题的一般解决方案: 我的问题如下: 我有一个用于十进制数字和日期的IValueConverter,对于它们,我在接口调用中获得了正确的CultureInfo object Convert(object value, Type targetType, object parameter, CultureInfo culture) 但是,我还希望将枚举值转换为UI文本。但为此,我需要CurrentUICulture,而不是CurrentCulture。当然,我可以直接使用Th

首先,我知道WPF文化问题的一般解决方案:

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

object Convert(object value, Type targetType, object parameter, CultureInfo culture)
但是,我还希望将枚举值转换为UI文本。但为此,我需要
CurrentUICulture
,而不是
CurrentCulture
。当然,我可以直接使用
Thread.CurrentThread.CurrentUICulture
CultureInfo.CurrentUICulture
,而忽略
CultureInfo

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

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

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


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

您可以在绑定中直接设置
ConverterCulture