首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF TextBox MaxLength警告

WPF TextBox MaxLength警告
EN

Stack Overflow用户
提问于 2011-06-15 10:33:48
回答 1查看 3K关注 0票数 2

当用户尝试键入的字符超过TextBox.MaxLength属性允许的字符数时,是否会发出可见和可听的警告?

EN

回答 1

Stack Overflow用户

发布于 2011-06-15 15:26:06

您可以在绑定上添加ValidationRule。如果验证失败,TextBox将使用默认的ErrorTemplate,否则您也可以自定义它...

ValidatonRule示例:

代码语言:javascript
复制
class MaxLengthValidator : ValidationRule
{
    public MaxLengthValidator()
    {

    }

    public int MaxLength
    {
        get;
        set;
    }


    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        if (value.ToString().Length <= MaxLength)
        {
            return new ValidationResult(true, null);
        }
        else
        {
            //Here you can also play the sound...
            return new ValidationResult(false, "too long");
        }

    }
}

以及如何将其添加到绑定中:

代码语言:javascript
复制
<TextBlock x:Name="target" />
<TextBox  Height="23" Name="textBox1" Width="120">
    <TextBox.Text>
        <Binding Mode="OneWayToSource" ElementName="target" Path="Text" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <local:MaxLengthValidator MaxLength="10" />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6352400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档