2011-02-01 3 views
4

%와 같은 특수 기호를 제한하는 텍스트 상자를 개발하고 싶습니다. 텍스트 상자의 keydown 이벤트를 사용하여 '%'를 제한했습니다. 내가 MVVM 아키텍처에서 이것을 구현할 때 이미wpf의 텍스트 상자에서 %와 같은 특수 기호를 제한하는 방법은 무엇입니까?

if(Keyboard.Modifiers == ModifierKeys.Shift && e.key == key.D5)  
{  
    e.handle=true;  
    return;  
} 

로 코드를 사용, 내가 문자열 형식으로 systemkey을 펼친 만 다른 같은 하나의 키와 D5로 이동 인식하는 종속성 속성에 문제가있어.

어떻게 % 기호를 인식 할 수 있습니까?

답변

4

대신 KeyDownEvent의 PreviewTextInput 이벤트를들을 수 있습니다 : 다음

myTextBox.PreviewTextInput += PreviewTextInputHandler; 

과 :

private void PreviewTextInputHandler(Object sender, System.Windows.Input.TextCompositionEventArgs e) 
{ 
    e.Handled = !AreAllValidChars(e.Text); 
} 

이 내 응용 프로그램에서 사용하는 하나 개의 기능, 당신은 그것을 조정할 것 오른쪽 caracters을 테스트하는 비트지만,이 당신은 어떻게 해야할지.

if (e.Text == '%') ...; 
:은 % caracter을 가져 오는 등

, 그럼 당신은 뭔가를 작성해야

관련 문제