WPF DataGridTextColumn绑定不接受小数

10

我不明白问题可能是什么。绑定在 Decimal 属性上。这是 XAML 代码:

<DataGridTextColumn Header="Price" Binding="{Binding Price, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged} Width="*"/>

我实在无法输入英文句号'.',为什么会阻止我输入该字符?如何让计算机允许我输入?

我尝试使用以下字符串格式:

<DataGridTextColumn Header="Price" Binding="{Binding Price, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:n2}} Width="*"/>

但这并不能解决我的问题,因为它只是在我输入的任何内容后面添加“.00”。
我需要的只是允许输入句点的权限。
更新:
我被引导到这里。 我删除了UpdateSourceTrigger属性,这使我能够键入“.”。我没有安装4.5 Beta,我的本地化设置正确。那么现在我的问题是,如何让DataGridTextColumn在设置UpdateSourceTrigger属性的情况下允许我键入“。”?

2
https://dev59.com/WmHVa4cB1Zd3GeqPqMuq - Pavel Tupitsyn
1个回答

20

UpdateSourceTrigger=PropertyChanged会在每次按键时重新评估文本。以小数点结尾的数字是无效的。将UpdateSourceTrigger更改为LostFocus(与删除它相同)或尝试在小数点后输入其他数字。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接