Windows Phone 7 文本框验证.我只想要数字
问题描述:
我似乎无法让它起作用..在 WP7 上,就 e.Key 而言,'%' 与 '5' 相同.. 我如何只获取数字...
I cant' seem to get this to work.. On the WP7 the '%' is the same as the '5' as far as the e.Key is concerned.. How do I ONLY get the numbers...
或者是否有一个开放的 srouce WP7 文本框控件,它的工作方式类似于 AJAX 控件工具包的东西,所以我可以说.. 这是一个文本框.. 只允许数字..?
Or is there a open srouce WP7 textbox control that would work similiar to the AJAX control toolkit stuff so I can say.. Here is a TextBox.. ONLY ALLOW NUMBERS..?
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
e.Handled = false;
return;
}
那么整个函数就是
private void HandleKeyEvent(KeyEventArgs e)
{
e.Handled = true;
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
e.Handled = false;
return;
}
if (e.Key == Key.Back || e.Key == Key.Delete || e.Key == Key.Left || e.Key == Key.Right ||
e.Key == Key.D0 || e.Key == Key.D1 || e.Key == Key.D2 || e.Key == Key.D3 || e.Key == Key.D4 || e.Key == Key.D5 || e.Key == Key.D6 ||
e.Key == Key.D7 || e.Key == Key.D8 || e.Key == Key.D9 ||
e.Key == Key.NumPad0 || e.Key == Key.NumPad1 || e.Key == Key.NumPad2 || e.Key == Key.NumPad3 || e.Key == Key.NumPad4 || e.Key == Key.NumPad5 || e.Key == Key.NumPad6 ||
e.Key == Key.NumPad7 || e.Key == Key.NumPad8 || e.Key == Key.NumPad9)
{
e.Handled = false;
//return;
}
if ((e.Key == Key.Subtract || (e.Key == Key.Unknown && e.PlatformKeyCode == 189)) && base.SelectionStart == 0 && (base.Text.Length == 0 || base.Text[0] != '-'))
{
e.Handled = false;
}
if (this.Text.Length > 3)
{
e.Handled = true;
}
}
答
我相信以下链接对你很有用 TextBox Numbers Only WP7.它详细解释了您的需求.
The following link will be of great use to you I believe TextBox Numbers Only WP7. It explains what you desire in detail.