5

我只是用谷歌搜索了大约 2 个小时,没有找到任何东西。

鉴于以下情况:

public class Person
{
    [Required]
    public string Name { get; set; }
}

XAML:

<TextBox Text="{Binding Name, Mode=TwoWay}" />

您将如何像在 MVC3 中那样自动获取 UI 上的验证反馈?

(哦,我现在真的不在乎我是否能够使用像 [Required] 这样的集成 DataAnnotations)

任何帮助深表感谢!

4

3 回答 3

13

我在WinRT XAML Toolkit中添加了一些东西。它称为TextBoxValidationExtensions并允许您像这样定义验证:

<TextBox
    Width="400"
    HorizontalAlignment="Left"
    xyzc:TextBoxValidationExtensions.Format="NonEmptyNumeric"
    xyzc:TextBoxValidationExtensions.InvalidBrush="Red"
    xyzc:TextBoxValidationExtensions.ValidBrush="Green" />

格式目前定义为:

[Flags]
public enum ValidTextBoxFormats
{
    Any = 0,
    NonEmpty = 1,
    Numeric = 2,
    NonEmptyNumeric = 3
}

整个代码有点长,无法在这里分享。您可以从 CodePlex 中取出代码并根据自己的喜好进行修改 - 添加新的验证规则、修改默认画笔等。

于 2012-05-16T17:38:24.933 回答
0

只需在特定XAML控件中使用事件,例如 if in textboxusepointerexited并在后面的代码中编写一个函数来执行所需的验证。

于 2012-09-26T03:39:39.357 回答
-1

看来,基于框架中提供的支持,您“验证”文本字段的非凡想法是如此罕见和不常见,以至于根本不需要考虑它。我们都知道,如果你想做的事情是通用的或有用的,那么在这样一个设计良好且全面的框架中,会有这样一个特性的考虑。

于 2013-02-17T03:02:52.283 回答