다음을 통해 공유


입력 범위를 사용하여 터치 키보드를 변경하세요

사용자가 터치 키보드 또는 SIP(소프트 입력 패널)를 사용하여 데이터를 입력할 수 있도록 텍스트 컨트롤의 입력 범위를 사용자가 입력해야 하는 데이터 종류와 일치하도록 설정할 수 있습니다.

중요 API

  • 입력 범위
  • inputScopeNameValue

터치 키보드는 터치 스크린이 있는 장치에서 앱이 실행될 때 텍스트 입력에 사용할 수 있습니다. 터치 키보드는 사용자가 TextBox 또는 RichEditBox와 같은 편집 가능한 입력 필드를 탭할 때 호출됩니다. 사용자가 입력할 데이터 종류와 일치하도록 텍스트 컨트롤의 입력 범위를 설정하여 사용자가 앱에 데이터를 훨씬 빠르고 쉽게 입력할 수 있습니다. 입력 범위는 시스템에서 입력 형식에 대한 특수 터치 키보드 레이아웃을 제공할 수 있도록 컨트롤에서 예상하는 텍스트 입력 형식에 대한 힌트를 시스템에 제공합니다.

예를 들어 입력란을 사용하여 4자리 PIN을 입력하는 경우 InputScope 속성을 Number로 설정합니다. 이렇게 하면 시스템에 숫자 키패드 레이아웃이 표시되므로 사용자가 PIN을 더 쉽게 입력할 수 있습니다.

중요합니다

  • 이 정보는 SIP에만 적용됩니다. Windows 접근성 옵션에서 사용할 수 있는 하드웨어 키보드 또는 화상 키보드에는 적용되지 않습니다.
  • 입력 범위는 입력 유효성 검사를 수행하지 않으며 사용자가 하드웨어 키보드 또는 기타 입력 장치를 통해 입력을 제공하지 못하게 합니다. 필요에 따라 코드의 입력 유효성을 검사할 책임이 있습니다.

텍스트 컨트롤의 입력 범위 변경

앱에서 사용할 수 있는 입력 범위는 InputScopeNameValue 열거형의 멤버입니다. InputScope 속성을 TextBox 또는 RichEditBox에 이러한 값 중 하나로 설정할 수 있습니다.

중요합니다

PasswordBoxInputScope 속성은 PasswordNumericPin 값만 지원합니다. 다른 모든 값은 무시됩니다.

여기서는 각 텍스트 상자의 예상 데이터와 일치하도록 여러 텍스트 상자의 입력 범위를 변경합니다.

XAML 입력 범위를 변경하려면

  1. 페이지의 XAML 파일에서 변경할 텍스트 컨트롤의 태그를 찾습니다.

  2. 태그에 InputScope 특성을 추가하고 예상된 입력과 일치하는 InputScopeNameValue 값을 지정합니다.

    다음은 일반적인 고객 연락처 양식에 나타날 수 있는 몇 가지 텍스트 상자입니다. InputScope를 설정하면 데이터에 적합한 레이아웃이 있는 터치 키보드가 각 텍스트 상자에 표시됩니다.

    <StackPanel Width="300">
        <TextBox Header="Name" InputScope="Default"/>
        <TextBox Header="Email Address" InputScope="EmailSmtpAddress"/>
        <TextBox Header="Telephone Number" InputScope="TelephoneNumber"/>
        <TextBox Header="Web site" InputScope="Url"/>
    </StackPanel>
    

코드에서 입력 범위를 변경하려면

  1. 페이지의 XAML 파일에서 변경할 텍스트 컨트롤의 태그를 찾습니다. 설정되지 않은 경우 코드에서 컨트롤을 참조할 수 있도록 x:Name 특성을 설정합니다.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. InputScope 개체를 인스턴스화합니다.

    InputScope scope = new InputScope();
    
  3. InputScopeName 개체를 인스턴스화합니다.

    InputScopeName scopeName = new InputScopeName();
    
  4. InputScopeName 개체의 NameValue 속성을 InputScopeNameValue 열거형의 값으로 설정합니다.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. InputScope 개체의 Names 컬렉션에 InputScopeName 개체를 추가합니다.

    scope.Names.Add(scopeName);
    
  6. InputScope 개체를 텍스트 컨트롤의 InputScope 속성 값으로 설정합니다.

    phoneNumberTextBox.InputScope = scope;
    

여기에 전체 코드를 한 번에 보여드립니다.

InputScope scope = new InputScope();
InputScopeName scopeName = new InputScopeName();
scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
scope.Names.Add(scopeName);
phoneNumberTextBox.InputScope = scope;

동일한 단계를 이 약식 코드로 압축할 수 있습니다.

phoneNumberTextBox.InputScope = new InputScope() 
{
    Names = {new InputScopeName(InputScopeNameValue.TelephoneNumber)}
};

텍스트 예측, 맞춤법 검사 및 자동 수정

TextBoxRichEditBox 컨트롤에는 SIP의 동작에 영향을 주는 몇 가지 속성이 있습니다. 사용자에게 최상의 환경을 제공하려면 이러한 속성이 터치를 사용하여 텍스트 입력에 미치는 영향을 이해하는 것이 중요합니다.

  • IsSpellCheckEnabled - 텍스트 컨트롤에 맞춤법 검사를 사용하도록 설정하면 컨트롤이 시스템의 맞춤법 검사 엔진과 상호 작용하여 인식되지 않는 단어를 표시합니다. 단어를 탭하여 제안된 수정 사항 목록을 볼 수 있습니다. 맞춤법 검사는 기본적으로 사용하도록 설정되어 있습니다.

    기본 입력 범위의 경우 이 속성을 사용하면 문장에서 첫 번째 단어의 자동 대문자화와 입력할 때 단어 자동 수정이 가능합니다. 이러한 자동 수정 기능은 다른 입력 범위에서 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 이 항목의 뒷부분에 있는 표를 참조하세요.

  • IsTextPredictionEnabled- 텍스트 컨트롤에 대해 텍스트 예측을 사용하도록 설정하면 입력하기 시작할 수 있는 단어 목록이 시스템에 표시됩니다. 전체 단어를 입력할 필요가 없도록 목록에서 선택할 수 있습니다. 텍스트 예측은 기본적으로 사용하도록 설정됩니다.

    입력 범위가 기본이 아닌 경우에는, 비록 IsTextPredictionEnabled 속성이 true일지라도 텍스트 예측이 비활성화될 수 있습니다. 자세한 내용은 이 항목의 뒷부분에 있는 표를 참조하세요.

  • PreventKeyboardDisplayOnProgrammaticFocus— 이 속성이 true이면, 프로그램적으로 텍스트 컨트롤에 포커스를 설정하면 시스템에서 SIP를 표시하지 않도록 합니다. 대신 사용자가 컨트롤과 상호 작용할 때만 키보드가 표시됩니다.

Windows용 터치 키보드 인덱스

다음 표에서는 일반적인 입력 범위 값에 대한 Windows SIP(소프트 입력 패널) 레이아웃을 보여 줍니다. 입력 범위에 따른 IsSpellCheckEnabledIsTextPredictionEnabled 속성에 의해 활성화된 기능의 효과가 각 입력 범위별로 나열됩니다. 사용 가능한 입력 범위의 포괄적인 목록은 아닙니다.

팁 (조언)

숫자 및 기호 레이아웃으로 변경하려면 &123 키를 누르고 abcd 키를 눌러 알파벳 레이아웃과 숫자 및 기호 레이아웃 간에 대부분의 터치 키보드를 전환할 수 있습니다.

기본값

<TextBox InputScope="Default"/>

기본 Windows 터치 키보드입니다.

기본 Windows 터치 키보드

  • 맞춤법 검사: IsSpellCheckEnabled가 true = 경우에는 사용하도록 설정되며, IsSpellCheckEnabled가 false = 경우에는 비활성화됩니다.
  • 자동 수정: IsSpellCheckEnabled가 true인 경우 사용하도록 설정되며, IsSpellCheckEnabled가 false인 경우 비활성화됩니다
  • 자동 대문자화: = IsSpellCheckEnabled가 true인 경우 활성화되며, = IsSpellCheckEnabled가 false 인 경우 비활성화됩니다.
  • 텍스트 예측: IsTextPredictionEnabled가 true인 경우 활성화되고, IsTextPredictionEnabled가 false인 경우 비활성화됩니다.

통화금액및기호

<TextBox InputScope="CurrencyAmountAndSymbol"/>

기본 숫자 및 기호 키보드 레이아웃입니다.

통화용 Windows 터치 키보드

  • 더 많은 기호를 표시하기 위해 페이지 왼쪽/오른쪽 키를 포함합니다.
  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

웹 주소

<TextBox InputScope="Url"/>

URL용 Windows 터치 키보드

  • .comGo 키 (Go) 키를 포함합니다. .com 키를 길게 눌러 추가 옵션(.org, .net 및 지역별 접미사)을 표시합니다.
  • 키에는, -/ 키가 포함됩니다.
  • 맞춤법 검사: 기본적으로 끄기, 사용하도록 설정할 수 있음
  • 자동 수정: 기본적으로 해제, 사용 가능
  • 자동 대문자화: 기본적으로 해제, 사용 가능
  • 텍스트 예측: 기본적으로 꺼져 있으며, 활성화할 수 있습니다.

이메일 SMTP 주소

<TextBox InputScope="EmailSmtpAddress"/>

전자 메일 주소 대한 Windows 터치 키보드

  • @ 키와 .com 키를 포함합니다. .com 키를 길게 눌러 추가 옵션(.org, .net 및 지역별 접미사)을 표시합니다.
  • _- 키 포함
  • 맞춤법 검사: 기본적으로 끄기, 사용하도록 설정할 수 있음
  • 자동 수정: 기본적으로 해제, 사용 가능
  • 자동 대문자화: 기본적으로 해제, 사용 가능
  • 텍스트 예측: 기본적으로 꺼져 있으며, 활성화할 수 있습니다.

숫자

<TextBox InputScope="Number"/>

숫자용 Windows 터치 키보드

  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

전화번호

<TextBox InputScope="TelephoneNumber"/>

전화 번호용 Windows 터치 키보드

  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

<TextBox InputScope="Search"/>

Windows 터치 키보드 검색

  • Enter 키 대신 검색 키를 포함합니다.
  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

점진적 검색

<TextBox InputScope="SearchIncremental"/>

증분 검색을 위한 Windows 터치 키보드

  • 기본 동일한 레이아웃
  • 맞춤법 검사: 기본적으로 끄기, 사용하도록 설정할 수 있음
  • 자동 수정: 항상 사용 안 함
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 항상 사용 안 함

수식

<TextBox InputScope="Formula"/>

Windows 터치 키보드 수식

  • = 키 포함
  • %, $, 및 + 키도 포함됩니다.
  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 항상 사용 안 함
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

채팅

<TextBox InputScope="Chat"/>

기본 Windows 터치 키보드

  • 기본 동일한 레이아웃
  • 맞춤법 검사: 기본적으로 사용하지 않도록 설정할 수 있습니다.
  • 자동 수정: 기본적으로 활성화되어 있으며, 비활성화할 수 있습니다.
  • 자동 대문자화: 기본적으로 사용하도록 설정되어 있으며, 사용하지 않도록 설정할 수 있습니다.
  • 텍스트 예측: 기본적으로 사용하지 않도록 설정할 수 있습니다.

이름또는전화번호

<TextBox InputScope="NameOrPhoneNumber"/>

기본 Windows 터치 키보드

  • 기본 동일한 레이아웃
  • 맞춤법 검사: 기본적으로 끄기, 사용하도록 설정할 수 있음
  • 자동 수정: 기본적으로 해제, 사용 가능
  • 자동 대문자화: 기본적으로 해제되어 사용하도록 설정할 수 있습니다(각 단어의 첫 글자가 대문자로 표시됨)
  • 텍스트 예측: 기본적으로 꺼져 있으며, 활성화할 수 있습니다.