0

我有一个关于如何在下面的设置中最好地执行验证的问题。

我有一个基于 WPF 的小型 UI(使用 WAF 框架)。此特定对话框包含一个DecimalUpDown控件(来自 WPF 扩展工具包),用户可以在其中通过使用向上/向下箭头或键入或粘贴来修改值。

在提供有效数字(格式和范围)之前,不应允许用户继续(应禁用下一步按钮)。用户还应该知道,阻止他们继续的是该字段的值。 如何执行此验证?

我有一个非常简单的视图模型——它包含一个float FooValue属性(绑定到上/下控件)并实现bool IsValid()了父容器绑定到的一个(用于Next按钮的启用状态)。

在此处输入图像描述

我注意到其他一些网站建议我应该在设置器中抛出异常(例如http://www.codeproject.com/Articles/15239/Validation-in-Windows-Presentation-Foundation)。这在这里真的没有意义,因为我的财产是float. 是否应该绑定到数字上/下的“文本”值并在视图模型级别进行解析(并抛出异常)?

4

1 回答 1

0

在 waf.codeplex.com 上实际上有一个示例显示如何进行数据输入验证 - http://www.codeplex.com/Download?ProjectName=waf&DownloadId=282750。它使用框架源代码中包含的 BookLibrary 示例应用程序。

基本上,您将在ValidatesOnDataErrors=true属性上使用数据注释,在 XAML 元素上使用属性。

于 2012-07-05T21:14:04.313 回答