TextBoxに数字(0〜9)のみを書きたいと思っています。 次のコードを使用して、数字以外の文字やその他の文字を書くのを防ぐのですが、TextBoxのスペースを使用することはできません。WPF TextBox no space allowed
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
重複した質問のアドレスで受け入れられた回答にコメントし、その問題をサポートしています: "[スペース]はPreviewTextInputイベントを発生させません"。どのイベントから 'CheckIsNumeric'メソッドを呼び出しますか? – dlatikay
申し訳ありませんが、私はそれを見逃しているに違いありません。 問題になるのは、PreviewTextInputイベントを使用しています。 私はtextbox.Text.Replace( ""、 "")で私の問題をバイパスしました。だから今はすべてのスペースが削除され、私のために十分なものです。 – Morris