2012-05-09 4 views
1

텍스트 상자를 누르면 시스템 키보드가 표시되지 않을 수 있습니까? 필자는 사용자 정의 키보드를 만들었으므로 텍스트 블록 만 사용할 수 있습니다.이 때문에 문장의 일부만 삭제할 수 있습니다.터치 키보드 숨기기

답변

3

IsReadOnlytrue으로 설정하면 사용자는 TextBox의 텍스트를 선택하여 붙여 넣기를 복사 할 수 있으며 OS는 소프트웨어 입력 키보드를 선택할 때 해당 키보드를 표시하지 않습니다. 그래도 코드를 통해 TextBox의 내용을 변경할 수 있습니다. 예 :

<TextBox x:Name="ExampleTextBox" 
     IsReadOnly="True" 
     Text="Initial Content" 
     GotFocus="ExampleTextBox_GotFocus" 
     /> 

코드 숨김.

private void ExampleTextBox_GotFocus(object sender, System.Windows.RoutedEventArgs e) { 
    ExampleTextBox.Text += " ... focused!"; 
} 

는 소프트웨어 키보드를 통해 텍스트를 입력에서 사용자를 방지 할 수 있지만 추가합니다 "... 집중"매번 그들이 TextBox에 초점을 제공합니다. 고안된 예제이지만 아이디어를 얻을 수 있습니다.

다른 제안은 TextBox의 스타일을 다시 지정하는 것입니다. IsReadOnly이 설정되면 기본적으로 TextBox은 사용자가 수정할 수 없다는 시각적 신호를 제공합니다. 여기서는 그렇지 않습니다.

+0

와우, 쉬운 하나 ! 고맙습니다. 내가 원하는 것. 이제 사용자 지정 키보드를 사용하고 선택한 텍스트 및 복사본과 같은 텍스트 상자에서 물건을 가져올 수 있습니다! 나중에 확인하고 동의 할 것입니다. 다시 한번 감사드립니다. – 0x49D1

+0

걱정할 필요가 없습니다. 이 똑같은 트릭을 (적절한 스타일링을 사용하여)'TextBlock'으로 보이지만 사용자가의 내용을 복사 할 수 있습니다. – MrMDavidson

1

사용자가 키보드를 터치하면 키보드에 포커스가 발생합니다.

개발자가 가지고있는 유일한 옵션은 this.focus를 잡아 텍스트 상자에서 포커스를 멀리 옮기는 것입니다.

그러나 이것은 기본 키보드가 튀어 나오고 숨겨진 깜박임을 의미합니다.

키보드 앱이 있기 때문에 이것을 알고 있습니다. 다른 방법은 없습니다.

+0

하지만 포커스가없는 텍스트 상자는 텍스트 블록처럼 작동합니다. 예를 들어 텍스트 부분을 선택할 가능성이 없습니다. – 0x49D1

+1

첫 번째 장애물을 파악할 수없는 경우 왜 앱을 작성 하시겠습니까? 텍스트 상자에는 텍스트 속성이 있습니다. 모든 작업을 집중하지 않고 수행 할 수 있습니다. –

+0

많은 키보드 응용 프로그램이 있습니다 .. 일부는 소스를 온라인으로 사용할 수 있습니다 http://www.silverlightshow.net/items/Windows-Phone-7-Creating-Custom-Keyboard.aspx이 링크를보십시오 –