Verwenden des Eingabeumfangs zum Ändern der Bildschirmtastatur

Um Benutzern die Eingabe von Daten mit der Bildschirmtastatur oder dem Soft Input Panel (SIP) zu erleichtern, können Sie den Eingabeumfang des Textsteuerelements an die Art der Daten anpassen, die der Benutzer vermutlich eingeben wird.

Wichtige APIs

Die Bildschirmtastatur kann für die Texteingabe verwendet werden, wenn Ihre App auf einem Gerät mit Touchscreen ausgeführt wird. Die Touch-Tastatur wird aufgerufen, wenn der Benutzer auf ein bearbeitbares Eingabefeld tippt, wie z.B. eine TextBox oder RichEditBox. Sie können die Dateneingabe in Ihrer Anwendung wesentlich beschleunigen und erleichtern, indem Sie den Eingabebereich des Textsteuerelements so einstellen, dass er der Art von Daten entspricht, die Sie vom Benutzer erwarten. Der Eingabeumfang bietet dem System einen Hinweis auf die Art von Text, die vermutlich über das Steuerelement eingegeben wird. Auf diese Weise kann das System ein spezielles Bildschirmtastaturlayout für den Eingabetyp bereitstellen.

Wird ein Textfeld beispielsweise nur verwendet, um eine vierstellige PIN einzugeben, legen Sie die InputScope-Eigenschaft auf Number fest. Dadurch wird das System angewiesen, die Zehnertastatur anzuzeigen, was dem Benutzer die Eingabe der PIN erleichtert.

Wichtig

  • Dies gilt nur für SIP. Dies gilt nicht für Hardwaretastaturen oder die Bildschirmtastatur, die in den Windows-Optionen für erleichterte Bedienung verfügbar ist.
  • Durch den Eingabeumfang wird keine Eingabeüberprüfung durchgeführt, und der Benutzer kann Eingaben über eine Hardwaretastatur oder ein anderes Eingabegerät vornehmen. Die Benutzereingabe muss je nach Bedarf trotzdem in Ihrem Code überprüft werden.

Ändern des Eingabeumfangs eines Textsteuerelements

Die Eingabebereiche, die für Ihre App verfügbar sind, sind Member der InputScopeNameValue-Enumeration. Sie können die InputScope-Eigenschaft eines TextBox- oder RichEditBox-Objekts auf einen dieser Werte festlegen.

Wichtig

Die InputScope-Eigenschaft in PasswordBox unterstützt nur die Werte Password und NumericPin. Alle anderen Daten werden ignoriert.

Hier ändern Sie den Eingabeumfang mehrerer Textfelder so, dass sie den erwarteten Daten für jedes Textfeld entsprechen.

So ändern Sie den Eingabebereich in XAML

  1. Suchen Sie in der XAML-Datei für Ihre Seite das Tag für das Textsteuerelement, das Sie ändern möchten.

  2. Fügen Sie das InputScope-Attribut zum Tag hinzu, und geben Sie den InputScopeNameValue-Wert an, der der erwarteten Eingabe entspricht.

    Hier sind einige Textfelder, die möglicherweise in einem allgemeinen Kundenkontaktformular angezeigt werden. Mit dem InputScope-Satz wird eine Bildschirmtastatur mit einem geeigneten Layout für die Daten für jedes Textfeld angezeigt.

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

So ändern Sie den Eingabebereich in Code

  1. Suchen Sie in der XAML-Datei für Ihre Seite das Tag für das Textsteuerelement, das Sie ändern möchten. Wenn es nicht festgelegt ist, legen Sie das x:Name-Attribut fest, damit Sie auf das Steuerelement in Ihrem Code verweisen können.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Instanziieren Sie ein neues InputScope-Objekt.

    InputScope scope = new InputScope();
    
  3. Instanziieren Sie ein neues InputScopeName-Objekt.

    InputScopeName scopeName = new InputScopeName();
    
  4. Legen Sie die Eigenschaft NameValue des InputScopeName-Objekts auf einen Wert der InputScopeNameValue-Enumeration fest.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Fügen Sie das InputScopeName-Objekt der Names-Auflistung des InputScope-Objekts hinzu.

    scope.Names.Add(scopeName);
    
  6. Legen Sie das InputScope-Objekt als Wert der InputScope-Eigenschaft des Textsteuerelements fest.

    phoneNumberTextBox.InputScope = scope;
    

Hier sehen Sie den gesamten Code.

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

Die gleichen Schritte können in diesem Kurzcode zusammengefasst werden.

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

Textvorhersage, Rechtschreibprüfung und automatische Korrektur

Die TextBox und RichEditBox-Steuerelemente verfügen über mehrere Eigenschaften, die das Verhalten des SIP beeinflussen. Um Ihren Benutzern eine optimale Benutzererfahrung zu bieten, ist es wichtig zu verstehen, wie sich diese Eigenschaften auf die Texteingabe mithilfe der Toucheingabe auswirken.

  • IsSpellCheckEnabled – Wenn die Rechtschreibprüfung für ein Textsteuerelement aktiviert ist, interagiert das Steuerelement mit dem Rechtschreibprüfungsmodul des Systems, um Wörter zu markieren, die nicht erkannt werden. Sie können auf ein Wort tippen, um eine Liste der vorgeschlagenen Korrekturen anzuzeigen. Die Rechtschreibprüfung ist standardmäßig aktiviert.

    Für den Standardeingabebereich ermöglicht diese Eigenschaft auch die automatische Großschreibung des ersten Worts in einem Satz und die automatische Korrektur von Wörtern während der Eingabe. Diese Features für die automatische Korrektur können in anderen Eingabebereichen deaktiviert werden. Weitere Informationen finden Sie in der Tabelle weiter unten in diesem Thema.

  • IsTextPredictionEnabled – Wenn die Textvorhersage für ein Textsteuerelement aktiviert ist, zeigt das System eine Liste von Wörtern an, die Sie möglicherweise gerade zu tippen beginnen. Sie können aus der Liste auswählen, damit Sie nicht das gesamte Wort eintippen müssen. Die Textvorhersage ist standardmäßig aktiviert.

    Die Textvorhersage ist möglicherweise deaktiviert, wenn der Eingabebereich nicht der Standardwert ist, auch wenn die IsTextPredictionEnabled-Eigenschaft wahr ist. Weitere Informationen finden Sie in der Tabelle weiter unten in diesem Thema.

  • PreventKeyboardDisplayOnProgrammaticFocus – Wenn diese Eigenschaft wahr ist, wird verhindert, dass das System das SIP anzeigt, wenn der Fokus programmgesteuert auf ein Textsteuerelement festgelegt wird. Stattdessen wird die Tastatur nur angezeigt, wenn der Benutzer mit dem Steuerelement interagiert.

Bildschirmtastaturindex für Windows

Diese Tabellen zeigen die Layouts des Windows Soft Input Panel (SIP) für allgemeine Eingabebereichswerte. Die Auswirkungen des Eingabebereichs auf die Funktionen, die durch die Eigenschaften IsSpellCheckEnabled und IsTextPredictionEnabled aktiviert werden, sind für jeden Eingabebereich aufgeführt. Dies ist keine umfassende Liste der verfügbaren Eingabebereiche.

Tipp

Bei den meisten Touchtastaturen können Sie zwischen einem alphabetischen Layout und einem Zahlen- und Symbol-Layout umschalten, indem Sie die Taste &123 drücken, um zum Zahlen- und Symbol-Layout zu wechseln, und die Taste abcd drücken, um zum alphabetischen Layout zu wechseln.

Standard

<TextBox InputScope="Default"/>

Die Standardmäßige Windows-Touchtastatur.

Default Windows touch keyboard

  • Rechtschreibprüfung: Aktiviert, wenn IsSpellCheckEnabled = true, deaktiviert, wenn IsSpellCheckEnabled = false
  • Autokorrektur: Aktiviert, wenn IsSpellCheckEnabled = true, deaktiviert, wenn IsSpellCheckEnabled = false
  • Automatische Großschreibung: Aktiviert, wenn IsSpellCheckEnabled = true, deaktiviert, wenn IsSpellCheckEnabled = false
  • Textvorhersage: aktiviert, wenn IsTextPredictionEnabled = true, deaktiviert, wenn IsTextPredictionEnabled = false

CurrencyAmountAndSymbol

<TextBox InputScope="CurrencyAmountAndSymbol"/>

Das Standard-Tastaturlayout für Zahlen und Symbole.

Windows touch keyboard for currency

  • Enthält links-/rechtsseitige Tasten, um weitere Symbole anzuzeigen
  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

url

<TextBox InputScope="Url"/>

Windows touch keyboard for URLs

  • Enthält die .com und go key (Go)-Tasten. Halten Sie die .com-TASTE gedrückt, um zusätzliche Optionen (.org, .net und regionsspezifische Suffixe) anzuzeigen.
  • Enthält die Schlüssel :, -, und /
  • Rechtschreibprüfung: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Korrektur: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Großschreibung: Standardmäßig deaktiviert, kann aktiviert werden
  • Textvorhersage: Standardmäßig deaktiviert, kann aktiviert werden

EmailSmtpAddress

<TextBox InputScope="EmailSmtpAddress"/>

Windows touch keyboard for email addresses

  • Enthält die Schlüssel @ und .com Halten Sie die .com-TASTE gedrückt, um zusätzliche Optionen (.org, .net und regionsspezifische Suffixe) anzuzeigen.
  • Enthält die Schlüssel _ und -
  • Rechtschreibprüfung: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Korrektur: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Großschreibung: Standardmäßig deaktiviert, kann aktiviert werden
  • Textvorhersage: Standardmäßig deaktiviert, kann aktiviert werden

number

<TextBox InputScope="Number"/>

Windows touch keyboard for numbers

  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

TelephoneNumber

<TextBox InputScope="TelephoneNumber"/>

Windows touch keyboard for telephone numbers

  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

<TextBox InputScope="Search"/>

Windows touch keyboard for search

  • Enthält den Suchschlüssel anstelle der Eingabetaste
  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

Windows touch keyboard for incremental search

  • Gleiches Layout wie Standard
  • Rechtschreibprüfung: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Korrektur: Immer deaktiviert
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Immer deaktiviert

Formel

<TextBox InputScope="Formula"/>

Windows touch keyboard for formula

  • Beinhaltet den Schlüssel =
  • Beinhaltet auch die Schlüssel %, $ und +
  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Immer deaktiviert
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

Chat

<TextBox InputScope="Chat"/>

Default Windows touch keyboard

  • Gleiches Layout wie Standard
  • Rechtschreibprüfung: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Korrektur: Standardmäßig aktiviert, kann deaktiviert werden
  • Automatische Großschreibung: Standardmäßig aktiviert, kann deaktiviert werden
  • Textvorhersage: Standardmäßig aktiviert, kann deaktiviert werden

NameOrPhoneNumber

<TextBox InputScope="NameOrPhoneNumber"/>

Default Windows touch keyboard

  • Gleiches Layout wie Standard
  • Rechtschreibprüfung: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Korrektur: Standardmäßig deaktiviert, kann aktiviert werden
  • Automatische Großschreibung: Standardmäßig deaktiviert, kann aktiviert werden (erster Buchstabe jedes Worts ist großgeschrieben)
  • Textvorhersage: Standardmäßig deaktiviert, kann aktiviert werden