Jos*_*ler 6 c# microsoft-metro windows-8 windows-runtime
我正在使用C#WinRT应用程序构建表单,我想将其中一个TextBox组件中的字符限制为仅限数字.(此TextBox将供用户输入一年.)
我已经搜索了一段时间,但是如果没有在事件上设置事件监听器TextChanged,并且text在每次按键检查属性时都无法解决这个问题.有没有办法简单地说用户只能在TextBox中输入特定的字符?
最简单的事情是绑定到OnTextChanged事件并根据您的规则修改文本.
<TextBox x:Name="TheText" TextChanged="OnTextChanged" MaxLength="4"/>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢这种方法,因为Metro的口头禅是触摸第一个UI,你可以通过FlipView控件第一种方式轻松完成.
| 归档时间: |
|
| 查看次数: |
10568 次 |
| 最近记录: |