我在我的程序中使用了几次这个代码用于我的TextBox:
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中创建自定义控件。
答案 0 :(得分:3)
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);
}
}