TextBoxes
我实现了在我的 WPF 项目中使用的自定义验证规则。我有以下问题:
例如,如果我有一个用于输入双精度值的文本框,则在验证错误之后(例如,对于键入“30.0”,当文本为“30”时,我必须得到一个验证错误。)验证/绑定机制转换整数的双精度表示("30.0") 转换为 int 表示形式 ("30")。如果我保留验证规则但始终返回 ValidationResult.ValidResult 或删除验证规则,则该值不会更改并保持“30.0”。
我该如何修复它/解决方法?
TextBoxes
我实现了在我的 WPF 项目中使用的自定义验证规则。我有以下问题:
例如,如果我有一个用于输入双精度值的文本框,则在验证错误之后(例如,对于键入“30.0”,当文本为“30”时,我必须得到一个验证错误。)验证/绑定机制转换整数的双精度表示("30.0") 转换为 int 表示形式 ("30")。如果我保留验证规则但始终返回 ValidationResult.ValidResult 或删除验证规则,则该值不会更改并保持“30.0”。
我该如何修复它/解决方法?
您可以控制绑定何时触发。如果它发生在每次击键时,那么您将遇到无效中间30.
情况的问题,正如您所描述的那样。
您可能希望查看添加UpdateSourceTrigger=LostFocus
到您的绑定。
这里有更多信息:http: //msdn.microsoft.com/en-us/library/ms754356.aspx