2017-02-27 24 views
-1

私はWPFアプリケーションを使用しています。テキストボックスに数値だけを許可したいと思います。 WindowsFormアプリケーションでは、どうすればそれを作る必要があるのか​​分かります。
残念ながら、WPFにはKeyPressがなく、「コード」も機能しなくなりました。C#WPFテキストボックスで数値のみを使用する方法

どのようにイベントが正しいのですか?あなたがテキストボックスのためPreviewtextinputイベントを追加し、正規表現を使用して、そのイベント内の値を検証することができ

private void tbKreisdurchmesser_KeyPress(object sender, KeyEventArgs e) 
{ 
    if (char.IsNumber(e.Key) || e.KeyChar==".") 
    { 

    } 
    else 
    { 
     e.Handled = e.KeyChar != (char)Keys.Back; 
    } 
} 
+0

プレビュー・キーを試す – Paparazzi

+0

View ModelでTextを(たとえば 'double 'などの)数値タイプにバインドするだけです。 –

答えて

1

private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e) 
{ 
    var textBox = sender as TextBox; 
    e.Handled = Regex.IsMatch(e.Text, "[^0-9]+"); 
} 
:ここ


は、Windowsフォームで働いている古いコードを見ることができます

+1

これはhttp://stackoverflow.com/questions/1268552/how-do-i-get-a-textbox-to-only-accept-numeric-input-in-wpfのコピーされた回答です – Kishor

関連する問題