我希望用户只能在TextBox中写入数字(0-9)。 我使用以下代码来防止用户编写除数字之外的字母和其他字符,但我无法避免用户使用TextBox中的空间。WPF TextBox no允许空间
private void CheckIsNumeric(TextCompositionEventArgs e)
{
int result;
if (!(int.TryParse(e.Text, out result)))
{
e.Handled = true;
MessageBox.Show("!!!no content!!!", "Error",
MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
}
我媒体链接使用类似
if (Keyboard.IsKeyDown(Key.Space))
{ //...}
试过,但没有成功。
感谢您的帮助。
我试过了,它也允许空间。 – Morris
对重复问题地址中接受的答案发表评论并支持该问题:“[Space]不会触发PreviewTextInput事件”。你从哪个事件中调用你的'CheckIsNumeric'方法? – dlatikay
对不起,我一定忽略了这一点。 我正在使用PreviewTextInput事件,这将是问题。 我绕过了textbox.Text.Replace(“”,“”)的问题。所以现在所有的空间都被删除了,对我来说什么都好。 – Morris