Windows Phone 72010.09.17 15:46

윈도우7에서 텍스트 박스에 포커스가 가게 되면 키패드가 자동으로 열린다.

 

하지만 입력을 완료하고 텍스트 박스를 닫고 싶지만 닫을려면

 

“Back” 버튼을 누르던가 다른 컨트롤을 터치하여 포커스를 옮겨야만 한다.

 

“Enter”키가 있지만 나가는 버튼은 아니다. 아마 TextBox내에서 엔터 치는 기능인듯?

 

하지만 숫자같은걸 입력하는 즉 짧은 단어를 입력하고 Enter를 누르면 키패드가 닫히게 하고 싶다.

 

정말 간단하다. 하지만 약간 꼼수일수도 있고 깔끔하게 컨트롤로 만드는것도 불가능하다.

 

자 왜 컨트롤로 못 만드는지와 어떻게 하는지 알아보자.

 

일단 해당 텍스트 박스의 KeyDown 이벤트를 받아야 한다.

 

 

TaxTextBox.KeyDown += new KeyEventHandler(TaxTextBox_KeyDown);

받았으면 아래처럼 Enter키를 받고서 focus를 Page에 준다.

 

/// <summary>
/// Enter키를 눌렀을시 focus를 페이지에 주어서 키패드가 사라지게 함
/// </summary>
/// <param name="e"></param>
private void EscapeKeypad(System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
this.Focus();
}
}

그러면 끝~

Posted by 동동(이재동)