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

보기 모델에서 텍스트를 숫자 형식 (예 : 'double')으로 바인딩 할 수 있습니다. –

답변

1

,

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