我正在使用C#WinRT应用程序构建表单,我想将其中一个TextBox组件中的字符限制为仅限数字. (此TextBox将供用户输入一年.)
我已经搜索了一段时间,但是如果没有在TextChanged事件上设置事件监听器,并且在每次按键检查文本属性时都无法解决这个问题.有没有办法简单地说用户只能在TextBox中输入特定的字符?
解决方法
最简单的事情是绑定到OnTextChanged事件并根据您的规则修改文本.
<TextBox x:Name="TheText" TextChanged="OnTextChanged" MaxLength="4"/>
private void OnTextChanged(object sender,TextChangedEventArgs e) { if (TheText.Text.Length == 0) return; var text = TheText.Text; int result; var isValid = int.TryParse(text,out result); if (isValid) return; TheText.Text = text.Remove(text.Length - 1); TheText.SelectionStart = text.Length; }