TextBoxValidationExtensions

TextBoxValidationExtensions

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

鉴于以下情况:

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

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

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

(哦,现在我真的不在乎是否可以使用[Required]之类的集成DataAnnotations。)

任何帮助深表感谢!

最佳答案

我在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中取出代码,然后根据自己的喜好进行修改-添加新的验证规则,修改默认画笔等。

10-06 02:27