WPF中textbox只能输入数字
时间: 2023-07-28 14:09:41 浏览: 180
在 WPF 中,你可以限制 TextBox 控件只能输入数字的方式有多种。一种常用的方法是使用 InputScope 属性来指定输入范围。你可以将 InputScope 属性设置为 Number 或 Currency,以确保用户只能输入数字或货币值。
例如,以下是一个示例的 XAML 代码,在其中将 TextBox 的 InputScope 属性设置为 Number:
```xaml
<TextBox InputScope="Number" />
```
这样设置后,用户在该 TextBox 中只能输入数字。
另一种方法是使用 PreviewTextInput 事件来检查输入的文本是否为数字,并在非数字字符输入时取消事件。你可以在代码中添加事件处理程序来实现此逻辑:
```xaml
<TextBox PreviewTextInput="TextBox_PreviewTextInput" />
```
在代码中,你可以添加 TextBox_PreviewTextInput 事件的处理程序:
```csharp
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
// 使用正则表达式匹配非数字字符
if (!Regex.IsMatch(e.Text, "^[0-9]+$"))
{
e.Handled = true; // 取消事件,阻止非数字字符被输入
}
}
```
这样设置后,用户在该 TextBox 中只能输入数字。
这些是两种常用的方法,你可以根据自己的需求选择适合的方式来限制 TextBox 只能输入数字。
阅读全文