WPF文本框MaxLength警告
当用户试图键入的字符数超过TextBox.MaxLength属性所允许的字符数时,是否仍可以发出可视和声音警告?您可以在绑定上添加ValidationRule。如果验证失败,默认的ErrorTemplate将用于文本框,否则您也可以自定义它 ValidationRule的示例: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
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并使用有效的当然,您也有同样的可能性,有更多的定制选项