使用Windows设置更改Thread.CurrentThread.CurrentUICulture

wtlkbnrh  于 2023-10-22  发布在  Windows
关注(0)|答案(2)|浏览(95)

我有个问题

Thread.CurrentThread.CurrentUICulture is de-DE
Thread.CurrentThread.CurrentCulture is de-CH.

当我将键盘布局更改为de-CH时,Thread.CurrentThread.CurrentUICulture没有更改为de-CH。我该怎么做才能改变这个值呢?
问题是我在WPF中得到的是“,"而不是”.“

xzlaal3s

xzlaal3s1#

直接回答您的问题:键盘布局不是UI区域性。CurrentUICulture是Windows语言。不确定其他Windows版本,但在Windows 11中它是Settings -> Time & Language -> Language & Region -> Windows display language

但是十进制分隔符不是由CurrentUICulture定义的,而是CurrentCulture,这是不同的。在Win 11中,它是区域格式:

通常,正确的小数点分隔符策略(作为一般应用程序本地化的一部分)是一个大问题,可以根据用户偏好/业务期望等以许多不同的方式解决。可能的备选办法是:
1.只要使用当前的文化,并相信用户将使用其文化的分隔符
1.强制用户只使用“.”并在解析时指定CultureInfo.InvariantCulture
1.尝试解析两个分隔符都包含的number
还有其他人

nhn9ugyo

nhn9ugyo2#

在Windows 10下,这里是语言设置。除语言识别外,所有设置均设置为多伊奇(瑞士)。

但我明白了

使用.NET 7

相关问题