2017-02-27 66 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

相关问题