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
Suchen Sie in der XAML-Datei für Ihre Seite das Tag für das Textsteuerelement, das Sie ändern möchten.
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
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"/>
Instanziieren Sie ein neues InputScope-Objekt.
InputScope scope = new InputScope();
Instanziieren Sie ein neues InputScopeName-Objekt.
InputScopeName scopeName = new InputScopeName();
Legen Sie die Eigenschaft NameValue des InputScopeName-Objekts auf einen Wert der InputScopeNameValue-Enumeration fest.
scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
Fügen Sie das InputScopeName-Objekt der Names-Auflistung des InputScope-Objekts hinzu.
scope.Names.Add(scopeName);
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.
- 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.
- 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"/>
- Enthält die .com und (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"/>
- 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
Anzahl
<TextBox InputScope="Number"/>
- 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"/>
- 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
Suche
<TextBox InputScope="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"/>
- 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"/>
- 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"/>
- 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"/>
- 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
Windows developer