我试图只允许在 TextBox、C# UWP XAML 中注册数字,但我没有 KeyPress 事件,我该怎么办?
相当于我想要做的 WinForms 是这样的:
private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
您可以使用KeyDown
和KeyUp
事件。我在 Windows 10 操作系统上的 UWP 应用上测试了这段代码。工作正常。
<TextBox InputScope="NumberFullWidth" KeyDown="TextBox_KeyDown"></TextBox>
InputScope
将在触摸设备上打开特定设备键盘。
private void TextBox_KeyDown(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
{
if (e.Key.ToString().Equals("Back"))
{
e.Handled = false;
return;
}
for (int i = 0; i < 10; i++)
{
if (e.Key.ToString() == string.Format("Number{0}", i))
{
e.Handled = false;
return;
}
}
e.Handled = true;
}
PS:您需要更改此代码以支持带小数点的数字和任何其他字符(如果要支持)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句