我在开发的应用程序中遇到过几次相同的问题:
我们希望允许用户以其格式(日期,货币......)编辑/显示数据,但我们希望仅以英文显示应用程序(由于多种原因,它是专业的,国际应用程序,在域中我们主要用英语交流) .
管理整个应用程序时没有问题,但我使用的大多数第三方专业框架(Telerik,DevExpress)都使用 CurrentCulture
以正确的格式和相应的语言显示我的数据 .
所以,即使我的计算机是英文的,我的区域设置也设置为 fr-CH
,我将使用法语设置所有第三方用户控件 .
我无法将 CurrentCulture
设置为特定的文化,并将我的用户控件的格式设置为其他东西(我会丢失我的默认格式)而且我不能让 CurrentCulture
成为默认格式,因为我将使用我的第三方组件另一种语言 .
我试图 Build 自己的文化( CultureAndRegionInfoBuilder
),但没有成功 . 当我更改语言时,我仍然使用用户特定语言编写应用程序 .
Concrete problem
我正在使用日期编辑器(基本的,它有一个文本输入,可以弹出一个日历) . 我想在我的操作系统区域显示日期(ch-FR,所以2013年1月15日将是“15.01.2013”),但我不希望当我显示日历月/日名称时出现在法语中 .
这有什么正确的方法?
2 回答
存储原始
CultureInfo
用于您的目的,并尝试在System.Threading.Thread
中编辑CurrentThread
属性的CurrentCulture
和CurrentUICulture
属性,这可能会解决您的问题 .我通过自定义文化信息解决了我的问题: