Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF文本框MaxLength警告_Wpf_Textbox_Warnings_Alert_Maxlength - Fatal编程技术网

WPF文本框MaxLength警告

WPF文本框MaxLength警告,wpf,textbox,warnings,alert,maxlength,Wpf,Textbox,Warnings,Alert,Maxlength,当用户试图键入的字符数超过TextBox.MaxLength属性所允许的字符数时,是否仍可以发出可视和声音警告?您可以在绑定上添加ValidationRule。如果验证失败,默认的ErrorTemplate将用于文本框,否则您也可以自定义它 ValidationRule的示例: class MaxLengthValidator : ValidationRule { public MaxLengthValidator() { } public int MaxLe

当用户试图键入的字符数超过TextBox.MaxLength属性所允许的字符数时,是否仍可以发出可视和声音警告?

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

ValidationRule的示例:

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");
        }

    }
}
class MaxLengthValidator:ValidationRule
{
公共MaxLengthValidator()
{
}
公共整数最大长度
{
收到
设置
}
公共覆盖验证结果验证(对象值,System.Globalization.CultureInfo CultureInfo)
{

如果(value.ToString().Length您可以在绑定上添加ValidationRule。如果验证失败,则默认的ErrorTemplate将用于文本框,否则您也可以自定义它

ValidationRule的示例:

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");
        }

    }
}
class MaxLengthValidator:ValidationRule
{
公共MaxLengthValidator()
{
}
公共整数最大长度
{
收到
设置
}
公共覆盖验证结果验证(对象值,System.Globalization.CultureInfo CultureInfo)
{

if(value.ToString().Length),而此解决方案实际上不查看TextBox.MaxLength属性(我们使用该属性并在运行时动态生成)它确实会提示一个问题,validationRule故障是否会触发声音反馈?是否有方法将其与textbox的MaxLength属性一起使用?通常不会触发声音,但您可以在代码中看到一个lilne“//这里您还可以播放声音…”。在那里,您可以播放任何想要的声音。在您的实现中,如果您在文本框上保留maxLength属性,它将不会完全像那样工作。使用maxLength,文本将永远不会超过maxLength,因此validationrule将始终进行验证。但是如果您可以从文本框中删除maxLength并使用有效的ator,您也有相同的可能性,有更多的自定义选项,而此解决方案实际上并不查看TextBox.MaxLength属性(我们使用它,并在运行时动态生成)它确实会提示一个问题,validationRule故障是否会触发声音反馈?是否有方法将其与textbox的MaxLength属性一起使用?通常不会触发声音,但您可以在代码中看到一个lilne“//这里您还可以播放声音…”。在那里,您可以播放任何想要的声音。在您的实现中,如果您在文本框上保留maxLength属性,它将不会完全像那样工作。使用maxLength,文本将永远不会超过maxLength,因此validationrule将始终进行验证。但是如果您可以从文本框中删除maxLength并使用有效的当然,您也有同样的可能性,有更多的定制选项