我该如何在WPF文本框中设置正则表达式? 我希望文本框可以接受预定义格式的输入。 这是否可行?
ValidationRule
子类(见下文),并将其添加到绑定的Validators属性中。ValidationCallback
,如果值错误,则抛出异常,并使用此技术轻松显示验证错误。对于任意正则表达式,我通常会使用WPF内置的验证功能或在绑定的属性上进行验证。 对于特定需求,PreviewKeyDown / PreviewTextInput或掩码文本框可能更好。
以下是如何创建ValidationRule子类的方法:
public class RegexValidationRule : ValidationRule
{
... // Declare Regex property and Message property
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if(Regex.IsMatch((string)value))
return ValidationResult.ValidResult;
else
return new ValidationResult(false, Message);
}
}
你可以在更改事件中进行检查,或者使用所谓的掩码文本框。