猿问

如何使文本框仅接受WPF中的数字输入?

如何使文本框仅接受WPF中的数字输入?

我想接受数字和小数点,但没有符号。

我查看了使用Windows窗体的NumericUpdown控件的示例,以及此示例是来自Microsoft的NumericUpdown自定义控件..但是到目前为止,看起来NumericUpdown(由WPF支持还是不支持)并不能提供我想要的功能。按照我的应用程序的设计方式,没有一个头脑正常的人会想弄乱箭头。在我的申请中,它们没有任何实际意义。

因此,我正在寻找一种简单的方法,使一个标准的WPF文本框只接受我想要的字符。这个是可能的吗?实用吗?


慕勒3428872
浏览 1300回答 3
3回答

胡子哥哥

事件处理程序正在预览文本输入。这里,只有当正则表达式不是数字时,正则表达式才与文本输入相匹配,然后它才不会被设置为输入TextBox。如果只需要字母,则将正则表达式替换为[^a-zA-Z].XAML<TextBox&nbsp;Name="NumberTextBox"&nbsp;PreviewTextInput="NumberValidationTextBox"/>XAML.CS文件using&nbsp;System.Text.RegularExpressions;private&nbsp;void&nbsp;NumberValidationTextBox(object&nbsp;sender,&nbsp;TextCompositionEventArgs&nbsp;e){ &nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;regex&nbsp;=&nbsp;new&nbsp;Regex("[^0-9]+"); &nbsp;&nbsp;&nbsp;&nbsp;e.Handled&nbsp;=&nbsp;regex.IsMatch(e.Text);}
随时随地看视频慕课网APP
我要回答