我不明白问题是什么。绑定在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”附加到我输入的任何内容的末尾。
我需要的只是输入句点的许可。
更新:
我被指示here。我删除了UpdateSourceTrigger属性,这使我可以输入'。'。我没有安装4.5 Beta,我的本地化设置是正确的。所以现在我的问题是如何让DataGridTextColumn允许我输入'。'是否设置了UpdateSourceTrigger属性?
答案 0 :(得分:15)
UpdateSourceTrigger = PropertyChanged重新评估每次击键时的文本。以小数点结尾的数字无效。将UpdateSourceTrigger更改为LostFocus(与删除它相同)或尝试键入'。'你后面还有其他数字。