将文本框绑定到浮点值。 无法输入点/逗号

当我尝试在文本框中输入DOT或COMMA时,例如1.0283,33 ,文本框阻止我输入这样的值(并且输入变为红色)。 文本框绑定到float属性。 为什么?

我已将文本框绑定到实现INotifyPropertyChanged的类的浮动Property Power

 private float _power; public float Power { get { return _power; } set { _power = value; OnPropertyChanged("Power"); } } 

在Xaml

  

我现在没有自定义validation。

也试过十进制但它也不起作用。 对于字符串一切正常。

尝试将StringFormat定义添加到绑定。 像这样:

  

如果您使用的是.NET 4.5或更高版本,请尝试

 System.Windows.FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false; 

请参阅Sebastian Lux的博客 。

修复文本框绑定到decimal或float的点和逗号问题

 1- UpdateSourceTrigger = LostFocus 2- add string format StringFormat={}{0:#.##} to escape unneeded zeros