2017-02-27 61 views
-1

只使用數值我使用WPF應用程序,我想允許在文本框中只有數字。在WindowsForm應用程序中,我會知道如何做到這一點。
不幸的是,不是在WPF一個按鍵和「代碼」還充當不再。C#WPF如何在一個文本框

它是如何正確的,什麼是事件?


在這裏你可以看到舊的代碼在Windows窗體已經工作:

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

您可以簡單地將文本綁定到視圖模型中的數字類型(例如'double')。 – 2017-02-27 08:12:12

回答

1

您可以爲文本框添加Previewtextinput事件和驗證使用正則表達式該事件中的數值,

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

這是從http://stackoverflow.com/questions/1268552/how-do-i-get-a-textbox-to-only-accept-numeric-input-in-wpf複製答案 – Kishor

相關問題