Delen via


Invoerbereik gebruiken om het aanraaktoetsenbord te wijzigen

Om gebruikers te helpen bij het invoeren van gegevens via het schermtoetsenbord of SIP (Soft Input Panel), kunt u het invoerbereik van het tekstbeheer instellen op basis van het soort gegevens dat de gebruiker moet invoeren.

Belangrijke API's

Het schermtoetsenbord kan worden gebruikt voor tekstinvoer wanneer uw app wordt uitgevoerd op een apparaat met een aanraakscherm. Het schermtoetsenbord wordt aangeroepen wanneer de gebruiker op een bewerkbaar invoerveld tikt, zoals een tekstvak of RichEditBox. U kunt het veel sneller en eenvoudiger maken voor gebruikers om gegevens in uw app in te voeren door het invoerbereik van het tekstbeheer in te stellen op basis van het soort gegevens dat de gebruiker verwacht in te voeren. Het invoerbereik biedt een hint aan het systeem over het type tekstinvoer dat door het besturingselement wordt verwacht, zodat het systeem een gespecialiseerde toetsenbordindeling voor aanraaktoetsenbord kan bieden voor het invoertype.

Als een tekstvak bijvoorbeeld alleen wordt gebruikt om een pincode van 4 cijfers in te voeren, stelt u de eigenschap InputScope in op Number. Dit geeft aan dat het systeem de indeling van het numerieke toetsenblok weergeeft, waardoor de gebruiker de pincode gemakkelijker kan invoeren.

Belangrijk

  • Deze informatie is alleen van toepassing op de SIP. Het is niet van toepassing op hardwaretoetsenbord of het schermtoetsenbord dat beschikbaar is in de opties voor toegankelijkheid van Windows.
  • Het invoerbereik zorgt ervoor dat er geen invoervalidatie wordt uitgevoerd en voorkomt niet dat de gebruiker invoer via een hardwaretoetsenbord of een ander invoerapparaat levert. U bent nog steeds verantwoordelijk voor het valideren van de invoer in uw code, indien nodig.

Het invoerbereik van een tekst besturingselement wijzigen

De invoerbereiken die beschikbaar zijn voor uw app, zijn lid van de opsomming InputScopeNameValue . U kunt de eigenschap InputScope van een tekstvak of RichEditBox instellen op een van deze waarden.

Belangrijk

De eigenschap InputScope in PasswordBox ondersteunt alleen de waarden voor Password en NumericPin . Elke andere waarde wordt genegeerd.

Hier wijzigt u het invoerbereik van verschillende tekstvakken zodat deze overeenkomen met de verwachte gegevens voor elk tekstvak.

Het invoerbereik in XAML wijzigen

  1. Zoek in het XAML-bestand voor uw pagina de tag voor het tekst besturingselement dat u wilt wijzigen.

  2. Voeg het kenmerk InputScope toe aan de tag en geef de InputScopeNameValue-waarde op die overeenkomt met de verwachte invoer.

    Hier zijn enkele tekstvakken die mogelijk verschijnen op een klantcontactformulier. Met de InputScope set wordt een schermtoetsenbord met een geschikte indeling voor de gegevens weergegeven voor elk tekstvak.

    <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>
    

Het invoerbereik in code wijzigen

  1. Zoek in het XAML-bestand voor uw pagina de tag voor het tekst besturingselement dat u wilt wijzigen. Als dit niet is ingesteld, stelt u het kenmerk x:Name in, zodat u naar het besturingselement in uw code kunt verwijzen.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Instantieer een nieuw InputScope-object .

    InputScope scope = new InputScope();
    
  3. Instantieer een nieuw InputScopeName-object .

    InputScopeName scopeName = new InputScopeName();
    
  4. Stel de eigenschap NameValue van het InputScopeName--object in op een waarde van de opsomming InputScopeNameValue.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Voeg het Object InputScopeName toe aan de verzameling Namen van het InputScope-object .

    scope.Names.Add(scopeName);
    
  6. Stel het InputScope-object in als waarde voor de InputScope-eigenschap van het tekstbesturingselement.

    phoneNumberTextBox.InputScope = scope;
    

Hier is de volledige code.

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

Dezelfde stappen kunnen worden omgezet in deze verkorte code.

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

Tekstvoorspelling, spellingcontrole en automatische correctie

De besturingselementen Tekstvak en RichEditBox hebben verschillende eigenschappen die van invloed zijn op het gedrag van de SIP. Om uw gebruikers de beste ervaring te bieden, is het belangrijk om te begrijpen hoe deze eigenschappen van invloed zijn op tekstinvoer met touch.

  • IsSpellCheckEnabled: wanneer de spellingcontrole is ingeschakeld voor een tekstbesturingselement, communiceert het besturingselement met de spellingcontrole-engine van het systeem om woorden te markeren die niet worden herkend. U kunt op een woord tikken om een lijst met voorgestelde correcties weer te geven. Spellingcontrole is standaard ingeschakeld.

    Voor het standaardinvoerbereik schakelt deze eigenschap ook automatische hoofdlettergebruik in van het eerste woord in een zin en automatische correctie van woorden terwijl u typt. Deze functies voor automatische correctie kunnen worden uitgeschakeld in andere invoerbereiken. Zie de tabellen verderop in dit onderwerp voor meer informatie.

  • IsTextPredictionEnabled: wanneer tekstvoorspelling is ingeschakeld voor een tekstbesturingselement, toont het systeem een lijst met woorden die u mogelijk begint te typen. U kunt een keuze maken in de lijst, zodat u het hele woord niet hoeft te typen. Tekstvoorspelling is standaard ingeschakeld.

    Tekstvoorspelling kan worden uitgeschakeld als het invoerbereik anders is dan Standaard-, zelfs als de eigenschap IsTextPredictionEnabled is waar. Zie de tabellen verderop in dit onderwerp voor meer informatie.

  • PreventKeyboardDisplayOnProgrammaticFocus— Wanneer deze eigenschap waaris, voorkomt deze dat het systeem de SIP weergeeft wanneer de focus programmatisch op een tekstbesturingselement wordt ingesteld. In plaats daarvan wordt het toetsenbord alleen weergegeven wanneer de gebruiker met het besturingselement communiceert.

Toetstoetsenbordindex voor Windows

In deze tabellen worden de SIP-indelingen (Soft Input Panel) van Windows weergegeven voor algemene waarden voor invoerbereiken. Het effect van het invoerbereik op de functies die door de eigenschappen IsSpellCheckEnabled en IsTextPredictionEnabled zijn ingeschakeld, wordt vermeld voor elk invoerbereik. Dit is geen uitgebreide lijst met beschikbare invoerbereiken.

Aanbeveling

U kunt de meeste schermtoetsenborden tussen een alfabetische indeling en een indeling voor getallen en symbolen in-/uitschakelen door op de toets &123 te drukken om de indeling voor getallen en symbolen te wijzigen en op de abcd-toets te drukken om de alfabetische indeling te wijzigen.

Verstek

<TextBox InputScope="Default"/>

Het standaardtoetsenbord voor Windows-aanraakscherm.

Standaardtoetsenbord voor Windows-aanraakscherm

  • Spellingcontrole: ingeschakeld als IsSpellCheckEnabled = true, uitgeschakeld als IsSpellCheckEnabled = false
  • Automatische correctie: ingeschakeld als IsSpellCheckEnabled = true, uitgeschakeld als IsSpellCheckEnabled = onwaar
  • Automatische hoofdlettergebruik: ingeschakeld als IsSpellCheckEnabled = true, uitgeschakeld als IsSpellCheckEnabled = false
  • Tekstvoorspelling: ingeschakeld als IsTextPredictionEnabled = true, uitgeschakeld als IsTextPredictionEnabled = false

ValutabedragEnSymbool

<TextBox InputScope="CurrencyAmountAndSymbol"/>

De standaardtoetsenbordindeling voor getallen en symbolen.

Windows-schermtoetsenbord voor valuta

  • Inclusief paginatoetsen links/rechts om meer symbolen weer te geven
  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

URL

<TextBox InputScope="Url"/>

Windows-schermtoetsenbord voor URL's

  • Bevat de .com en go-toetsen (Go). Houd de .com-toets ingedrukt om extra opties weer te geven (.org, .net en regiospecifieke achtervoegsels)
  • Bevat de :, -en / toetsen
  • Spellingcontrole: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatische correctie: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatisch hoofdlettergebruik: standaard uitgeschakeld, kan worden ingeschakeld
  • Tekstvoorspelling: standaard uitgeschakeld, kan worden ingeschakeld

EmailSmtpAdres

<TextBox InputScope="EmailSmtpAddress"/>

Windows-schermtoetsenbord voor e-mailadressen

  • Bevat de @- en .com sleutels. Houd de .com-toets ingedrukt om extra opties weer te geven (.org, .net en regiospecifieke achtervoegsels)
  • Bevat de sleutels _ en -
  • Spellingcontrole: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatische correctie: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatisch hoofdlettergebruik: standaard uitgeschakeld, kan worden ingeschakeld
  • Tekstvoorspelling: standaard uitgeschakeld, kan worden ingeschakeld

Number

<TextBox InputScope="Number"/>

Windows-schermtoetsenbord voor getallen

  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

Telefoonnummer

<TextBox InputScope="TelephoneNumber"/>

Windows-schermtoetsenbord voor telefoonnummers

  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

<TextBox InputScope="Search"/>

Windows-toetsenbord voor zoeken

  • Bevat de zoeksleutel in plaats van de Enter-toets
  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

ZoekIncrementeel

<TextBox InputScope="SearchIncremental"/>

Windows-schermtoetsenbord voor incrementeel zoeken

  • Dezelfde indeling als Standaard
  • Spellingcontrole: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatische correctie: altijd uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: altijd uitgeschakeld

Formula

<TextBox InputScope="Formula"/>

Windows-aanraaktoetsenbord voor formules

  • Bevat de =-sleutel
  • Bevat ook de %, $en + sleutels
  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: altijd uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

Chat

<TextBox InputScope="Chat"/>

Standaardtoetsenbord voor Windows-aanraakscherm

  • Dezelfde indeling als Standaard
  • Spellingcontrole: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatische correctie: standaard ingeschakeld, kan worden uitgeschakeld
  • Automatisch hoofdlettergebruik: standaard ingeschakeld, kan worden uitgeschakeld
  • Tekstvoorspelling: standaard ingeschakeld, kan worden uitgeschakeld

NaamOfTelefoonnummer

<TextBox InputScope="NameOrPhoneNumber"/>

Standaardtoetsenbord voor Windows-aanraakscherm

  • Dezelfde indeling als Standaard
  • Spellingcontrole: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatische correctie: standaard uitgeschakeld, kan worden ingeschakeld
  • Automatisch hoofdlettergebruik: standaard uitgeschakeld, kan worden ingeschakeld (eerste letter van elk woord heeft een hoofdletter)
  • Tekstvoorspelling: standaard uitgeschakeld, kan worden ingeschakeld