将文本框绑定到浮点值。 无法输入点/逗号
当我尝试在文本框中输入DOT或COMMA时,例如1.02
或83,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