我可以在文本框中输入数字,但不允许我输入十进制值。请问这是为什么?
<TextBox Text="{Binding SebAmountPer, Mode=Twoway, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Grid.Row="2" TextWrapping="Wrap"/>
public decimal? SebAmountPer
{
get
{
return _seb.SEBAmountPer;
}
set
{
_seb.SEBAmountPer = value;
OnPropertyChanged("SebAmountPer");
OnPropertyChanged("SebTotal");
}
}
最佳答案
便宜的解决方法(如果您仍然希望保留内置的验证并绑定到可为空的属性),是在绑定中添加一个小的Delay
。这使您可以实际输入“小数点”,并在“延迟”后绑定,然后将值评估为正确。
例:
<TextBox Text="{Binding SebAmountPer, UpdateSourceTrigger=PropertyChanged, TargetNullValue='', Delay=350}" Height="75" Width="300" TextWrapping="Wrap"/>
关于c# - TextBox不允许我输入小数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23228403/