Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datagrid中的DataGridTextColumn';更新绑定变量的源时不接受逗号_C#_.net_Wpf_Datagrid_.net 4.8 - Fatal编程技术网

C# Datagrid中的DataGridTextColumn';更新绑定变量的源时不接受逗号

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

我在WPF项目中创建了Datagrid,并将
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,那么它将接受逗号。您可能需要一个变通方法或转换器。这是否回答了您的问题@我承认,Ugur
InvariantCulture
是一个错误的选择。但使用我的本地区域文化,即使它使用逗号,在我的应用程序中也不接受逗号@Đøharrrck只是证明了使用
不变量文化
是错误的。但使用带有逗号的操作系统区域性不会对应用程序造成任何更改。@GhostVolume,但如何使用本地区域性。您应该更改启动应用程序的默认区域性。@GhostVolume:我自己发布了一个答案,以防您接受。