2010-08-16 4 views
2

Windows Phone 7 응용 프로그램에 간단한 텍스트 상자가 있습니다. 사용자가 텍스트 상자에 내용을 입력하고 확인하면 메서드를 실행하려고합니다.사용자가 제출 요청을하면 어떻게 알 수 있습니까?

내 질문에 대해서는 어떻게 생각합니까? 에뮬레이터에서 텍스트 상자를 클릭하면 키보드가 튀어 나오고 선호하는 방법은 해당 이벤트를 캡처하는 것입니다. 어떤 지침?

답변

1

키 누르기 입력 확인을 고려하십시오. XAML의 TextBox에 KeyDown 이벤트에 대해이 메서드가 선언되어 있는지 확인하십시오.

<TextBox Name="textBox1" KeyDown="OnKeyDownHandler"/> 

private void OnKeyDownHandler(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Enter) 
    { 
     Debug.WriteLine("Enter"); 
     //do the work you want. 

     //haven't found yet a good way to hide the keyboard explicitly. 
     //setting focus to a control will hide the keyboard. unsure if there's 
     //a Keyboard.Hide() 
     SomeOtherControl.Focus(); 
    } 
} 

해당하는 경우 키보드를 숨기도록하십시오. 키보드를 숨기려면 텍스트 상자에서 포커스를 멀리 설정하십시오.

+0

아, 이것이 '기본 제공'이 아니기 때문에 수동으로 코딩해야합니다. 이것은 Windows Phone 응용 프로그램의 표준입니까, 아니면 단추 클릭으로 제출을 처리해야한다는 표준이 있습니까? –

+0

@Sergio : 실제로 이것은 올바른 키 입력에 대해 트래핑하는 것과 동일한 패턴이며, 누른 키를 기반으로 작업을 수행합니다. 내장 된 다른 것들은 하드웨어 버튼입니다 : Win 키, Search, Back. –

+0

좋아, 나는 너의 생각을 시험해 보았다. 예를 들어 키보드를 숨기려면 TextBlock에 포커스를 가져야합니다. 그러나 a.Focus() 메서드와 같은 것은 없습니다. –

0

LostFocus에서 이것을 처리하면 간단하게 요구 사항을 해결할 수 있습니까?

방금 ​​한 모금을 사용하여 두 개의 텍스트 상자가있는 페이지에 입력을 시도하고 한 텍스트 상자에서 다른 텍스트 상자로 포커스를 이동했습니다.

관련 문제