WPF验证错误导致double被转换为int

时间:2012-12-04 15:05:50

标签: wpf textbox validationrules

我在我的WPF项目中实现了与TextBoxes一起使用的自定义验证规则。我有以下问题:

例如,如果我有一个用于输入double值的文本框,则在验证错误之后(例如,对于键入“30.0”,当文本为“30”时我必须得到验证错误)验证/绑定机制转换双重表示整数(“30.0”)到int表示(“30”)。 如果我保留验证规则但总是返回ValidationResult.ValidResult或删除验证规则,则值不会更改并保持为“30.0”。

我该如何修复/解决它?

1 个答案:

答案 0 :(得分:1)

您可以控制绑定何时触发。如果它在每次击键时发生,那么您将遇到无效的中间30.案例的问题,正如您所描述的那样。

您可能希望将UpdateSourceTrigger=LostFocus添加到Binding。

这里有更多信息:http://msdn.microsoft.com/en-us/library/ms754356.aspx