2012-02-07 30 views
0

我有一个验证器只允许整数值文本框。如何检查文本框中的文本是否代表正确的整数值而不检查文本本身?检查在文本框的值是有效的

我使用棱镜MVVM,所以我想听听像一些解决方案“绑定验证器属性,以您的视图模型/型号代码”,而是一个通用的WPF解决方案也未尝不可。

的问题是,我不能让我的模型/视图模型不正确的值。如果该值不正确,则基础绑定属性不会被设置。

回答

1

你可以使用IDataErrorInfo,或Data AnnotationsData Annotations Extensions项目包含Integer属性。对于`IDataErrorInfo`,为

+0

+1。即使你使用了'DataAnnotations',你也应该使用'IDataErrorInfo',因为WPF是建立在它的基础上的。 – Rachel 2012-02-07 13:38:14

+0

我看不出我如何使用IDataErrorInfo。我无法在模型或视图模型中获取不正确的值,只能看到正确的值。如果当前值不正确,则不会传递给视图模型/模型。 – 2012-02-07 15:02:44

+0

见http://stackoverflow.com/questions/9157894/poco-validation-on-textbox-for-integer-datatype/9161603#9161603。您可以使用IValueConverter来始终返回有效整数,以便更新视图模型。 – devdigital 2012-02-07 15:08:41