C# Datagrid中的DataGridTextColumn';更新绑定变量的源时不接受逗号
我在WPF项目中创建了Datagrid,并将C# Datagrid中的DataGridTextColumn';更新绑定变量的源时不接受逗号,c#,.net,wpf,datagrid,.net-4.8,C#,.net,Wpf,Datagrid,.net 4.8,我在WPF项目中创建了Datagrid,并将ItemsSource与包含double类型变量amount的对象绑定。我用amount变量绑定了DataGridTextColumn,并使用UpdateSourceTrigger将其设置为PropertyChanged,在任何更改时对其进行更新(我真的需要这个)。问题是,通过键入例如3,5,在源更新值更改为35之后。当我输入3.5时,更新后它保持为3.5 我试过什么 将整个Thread和UIThread中的CultureInfo更改为Invaria
ItemsSource
与包含double
类型变量amount
的对象绑定。我用amount
变量绑定了DataGridTextColumn
,并使用UpdateSourceTrigger
将其设置为PropertyChanged
,在任何更改时对其进行更新(我真的需要这个)。问题是,通过键入例如3,5
,在源更新值更改为35
之后。当我输入3.5
时,更新后它保持为3.5
我试过什么
- 将整个
和Thread
中的UIThread
更改为CultureInfo
InvariantCulture
- 检查我的当前操作系统区域,默认情况下应该使用逗号,而不是点
它是.NETFramework4.8上的WPF项目。OS是Windows 10,IDE是最新的Visual Studio 2019。尝试将
数据网格的语言属性设置为实际接受逗号作为小数分隔符的区域性,例如:
<DataGrid ...Language="sv-SE" />
根据UI区域性,可以使用逗号或点。如果UI线程设置为例如EN,那么它将接受点,如果设置为DE,那么它将接受逗号。您可能需要一个变通方法或转换器。这是否回答了您的问题@我承认,UgurInvariantCulture
是一个错误的选择。但使用我的本地区域文化,即使它使用逗号,在我的应用程序中也不接受逗号@Đøharrrck只是证明了使用不变量文化
是错误的。但使用带有逗号的操作系统区域性不会对应用程序造成任何更改。@GhostVolume,但如何使用本地区域性。您应该更改启动应用程序的默认区域性。@GhostVolume:我自己发布了一个答案,以防您接受。