创建一个已经包含验证函数的自定义TextBox

本文关键字:验证 包含 函数 TextBox 自定义 一个 创建 | 更新日期: 2023-09-27 18:05:03

我在我的程序中多次使用以下代码:

    private void ResultTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
    {
        e.Handled = !IsTextAllowed(e.Text);
    }
    private static bool IsTextAllowed(string text)
    {
        System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("[^0-9.-]+"); //regex that matches disallowed text
        return !regex.IsMatch(text);
    }

我想创建一个自定义文本框,在那里我不必在每个用户控件中编写代码了。我不知道在WPF中创建自定义控件

创建一个已经包含验证函数的自定义TextBox

public class MyTextBox : TextBox
{
     System.Text.RegularExpressions.Regex regex = newSystem.Text.RegularExpressions.Regex("[^0-9.-]+"); 
     protected override void OnPreviewTextInput(TextCompositionEventArgs e)
     {
        e.Handled = !regex.IsMatch(e.Text);
     }
}