Textsteuerelemente
Textsteuerelemente bestehen aus Texteingabefeldern, Kennwortfeldern, Feldern für automatische Vorschläge und Textblöcken. Das XAML-Framework bietet mehrere Steuerelemente zum Rendern, Eingeben und Bearbeiten von Text sowie eine Reihe von Eigenschaften zum Formatieren des Texts.
- Die Steuerelemente zum Anzeigen von schreibgeschütztem Text sind TextBlock und RichTextBlock.
- Die Steuerelemente für die Texteingabe und -bearbeitung sind: TextBox, RichEditBox, AutoSuggestBox und PasswordBox.
Wichtige APIs: TextBlock-Klasse, RichTextBlock-Klasse, TextBox-Klasse, RichEditBox-Klasse, AutoSuggestBox-Klasse, PasswordBox-Klasse
Ist dies das richtige Steuerelement?
Das verwendete Textsteuerelement hängt von Ihrem Szenario ab. Verwenden Sie diese Informationen, um das richtige Textsteuerelement zur Verwendung in Ihrer App zu wählen.
Rendern von schreibgeschütztem Text
Verwenden Sie einen TextBlock , um den schreibgeschützten Text in Ihrer App anzuzeigen. Sie können es verwenden, um einzeiligen oder mehrzeiligen Text, Inlinelinks und Text mit Formatierung wie Fett, Kursiv oder Unterstrichen anzuzeigen.
TextBlock ist in der Regel einfacher zu verwenden und bietet eine bessere Leistung beim Rendern von Text als RichTextBlock, daher wird es für die meisten App-UI-Text bevorzugt. Sie können auf einfache Weise auf Text aus einem TextBlock in Ihrer App zugreifen und diesen verwenden, indem Sie den Wert der Text-Eigenschaft abrufen.
Es bietet auch viele der gleichen Formatierungsoptionen zum Anpassen der Darstellung des Texts. Du kannst zwar Zeilenumbrüche in den Text einfügen, aber TextBlock ist zum Anzeigen eines einzelnen Absatzes vorgesehen und unterstützt keinen Texteinzug.
Verwenden Sie richTextBlock, wenn Sie Unterstützung für mehrere Absätze, mehrspaltigen Text oder andere komplexe Textlayouts oder Inline-UI-Elemente wie Bilder benötigen. RichTextBlock bietet mehrere Features für das erweiterte Textlayout.
Die Inhaltseigenschaft von RichTextBlock ist die Blocks-Eigenschaft , die absatzbasierten Text über das Paragraph-Element unterstützt. Es verfügt nicht über eine Texteigenschaft , mit der Sie auf einfache Weise auf den Textinhalt des Steuerelements in Ihrer App zugreifen können.
Texteingabe
Ein TextBox-Steuerelement ermöglicht es Benutzern, unformatierten Text einzugeben und zu bearbeiten, z. B. in einem Formular. Mit der Text-Eigenschaft können Sie den Text in einem TextBox abrufen und festlegen.
Sie können das TextBox-Element als schreibgeschützt festlegen, dies sollte aber nur ein temporärer, bedingter Zustand sein. Wenn der Text nie bearbeitbar sein soll, ziehen Sie stattdessen die Verwendung eines TextBlock-Elements in Erwägung.
Verwenden Sie ein PasswordBox-Steuerelement, um Kennwörter oder andere private Daten wie Sozialversicherungsnummern zu erfassen. Ein Kennwortfeld ist ein Texteingabefeld, das die darin eingegebenen Zeichen aus Datenschutzgründen verdeckt. Ein Kennwortfeld sieht wie ein Texteingabefeld aus. Der einzige Unterschied besteht darin, dass anstelle des eingegebenen Texts Aufzählungszeichen erscheinen. Das Aufzählungszeichen kann angepasst werden.
Verwenden Sie ein AutoSuggestBox-Steuerelement , um dem Benutzer eine Liste mit Vorschlägen anzuzeigen, die während der Eingabe ausgewählt werden sollen. Ein Feld für automatische Vorschläge ist ein Texteingabefeld, das eine Liste grundlegender Suchvorschläge auslöst. Vorgeschlagene Ausdrücke können aus einer Kombination aus beliebten Suchbegriffen und historischen vom Benutzer eingegebenen Ausdrücken stammen.
Sie sollten auch ein AutoSuggestBox-Steuerelement verwenden, um ein Suchfeld zu implementieren.
Verwenden Sie ein RichEditBox-Steuerelement zum Anzeigen und Bearbeiten von Textdateien. Sie verwenden kein RichEditBox-Steuerelement, um Benutzereingaben in Ihre App auf die Art und Weise zu erhalten, wie Sie andere Standardtexteingabefelder verwenden. Stattdessen verwenden Sie sie, um mit Textdateien zu arbeiten, die von Ihrer App getrennt sind. In der Regel speichern Sie Text, der in ein RichEditBox-Objekt eingegeben wurde, in einer .rtf Datei.
Ist Texteingabe die beste Option?
Es gibt viele Möglichkeiten, benutzereingaben in Ihrer App zu erhalten. Diese Fragen helfen ihnen zu beantworten, ob eines der Standardtexteingabefelder oder ein anderes Steuerelement am besten geeignet ist, um Benutzereingaben zu erhalten.
- Ist es praktisch umsetzbar, alle gültigen Werte effizient aufzuzählen? Wenn dies der Fall ist, sollten Sie eines der Auswahlsteuerelemente verwenden, z. B. ein Kontrollkästchen, eine Dropdownliste, ein Listenfeld, ein Optionsfeld, einen Schieberegler, einen Umschalter, eine Datumsauswahl oder eine Zeitauswahl.
- Gibt es nur relativ wenige gültige Werte? Wenn dies der Fall ist, ziehen Sie eine Dropdownliste oder ein Listenfeld in Betracht, insbesondere, wenn die Werte mehr als ein paar Zeichen lang sind.
- Gelten für die Daten keinerlei Einschränkungen? Oder ist die Gültigkeit der Daten nur durch das Format (bestimmte Länge oder Zeichentypen) beschränkt? Wenn ja, verwenden Sie ein Texteingabesteuerelement. Sie können die Anzahl von Zeichen einschränken, die eingegeben werden können, und Sie können das Format im App-Code überprüfen.
- Stellt der Wert einen Datentyp dar, der über ein spezielles allgemeines Steuerelement verfügt? Verwenden Sie in diesem Falls das entsprechende Steuerelement anstelle eines Texteingabesteuerelements. Verwenden Sie anstelle eines Texteingabesteuerelements zum Beispiel DatePicker, um eine Dateneingabe zu akzeptieren.
- Wenn die Daten streng numerisch sind:
- Handelt es sich bei dem Wert, der eingegeben wird, um einen Näherungswert und/oder ist der Wert relativ zu einem anderen Wert auf derselben Seite? Wenn ja, verwenden Sie einen Schieberegler.
- Wäre es für Benutzer hilfreich, sofort Feedback zur Auswirkung von Einstellungsänderungen zu erhalten? Wenn ja, verwenden Sie einen Schieberegler, möglicherweise mit einem begleitenden Steuerelement.
- Besteht die Möglichkeit, dass der eingegebene Wert angepasst wird, nachdem das Ergebnis geprüft wurde, z.B. die einzustellende Lautstärke oder Helligkeit? Wenn ja, verwenden Sie einen Schieberegler.
Beispiele
WinUI 2-Katalog | |
---|---|
Wenn Sie die WinUI 2 Gallery-App installiert haben, klicken Sie hier, um die App zu öffnen und die Textsteuerelemente in Aktion anzuzeigen. |
Text box
Feld "Automatische Vorschläge"
Kennwortfeld
Erstellen eines Textsteuerelements
Informationen und Beispiele für jedes Textsteuerelement finden Sie in diesen Artikeln.
Richtlinien für Schriftart und Stil
In den folgenden Artikeln finden Sie Richtlinien für Schriftarten:
Stifteingabe
Gilt für: TextBox, RichEditBox, AutoSuggestBox
Ab Windows 10, Version 1803, verfügen XAML-Texteingabefelder über eine integrierte Unterstützung für Stifteingaben mit Windows Ink. Wenn ein Benutzer einen Windows-Stift für Eingaben in ein Textfeld verwendet, wird das Textfeld transformiert, sodass der Benutzer mit einem Stift direkt in das Feld schreiben kann, statt einen separaten Eingabebereich öffnen zu müssen.
Weitere Informationen finden Sie unter Texteingabe mit der Handschriftenansicht.
Auswählen der richtigen Tastatur für Ihr Textsteuerelement
Gilt für: TextBox, PasswordBox RichEditBox
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.
Tipp: Diese Informationen gelten nur für das SIP. Dies gilt nicht für Hardwaretastaturen oder die Bildschirmtastatur, die in den Windows-Optionen für erleichterte Bedienung verfügbar ist.
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
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.
Weitere Informationen finden Sie unter Verwenden des Eingabeumfangs zum Ändern der Bildschirmtastatur.
Farbschriftarten
Gilt für: TextBlock, RichTextBlock, TextBox, RichEditBox
Windows verfügt über die Möglichkeit für Schriftarten, mehrere farbige Ebenen für jede Glyphe einzuschließen. Die Schriftart Segoe UI Emoji definiert z. B. Farbversionen der Emoticon- und anderen Emoji-Zeichen.
Die Standard- und Rich-Text-Steuerelemente unterstützen Anzeigefarbschriftarten. Standardmäßig ist die IsColorFontEnabled-Eigenschaft "true", und Schriftarten mit diesen zusätzlichen Ebenen werden in Farbe gerendert. Die Standardfarbschriftart auf dem System ist Segoe UI Emoji, und die Steuerelemente fallen auf diese Schriftart zurück, um die Glyphen in Farbe anzuzeigen.
<TextBlock FontSize="30">Hello ☺⛄☂♨⛅</TextBlock>
Der gerenderte Text sieht wie folgt aus:
Weitere Informationen finden Sie unter der IsColorFontEnabled-Eigenschaft.
Richtlinien für Zeilen- und Absatztrennzeichen
Gilt für: TextBlock, RichTextBlock, mehrzeilige TextBox, RichEditBox
Verwenden Sie das Zeilentrennzeichen (0x2028) und das Absatztrennzeichen (0x2029), um Nur-Text zu dividieren. Nach jedem Zeilentrennzeichen wird eine neue Zeile begonnen. Nach jedem Absatztrennzeichen wird ein neuer Absatz begonnen.
Es ist nicht erforderlich, die erste Zeile oder den ersten Absatz in einer Datei mit diesen Zeichen zu beginnen oder die letzte Zeile oder den letzten Absatz mit ihnen zu beenden; Dadurch wird angegeben, dass an dieser Stelle eine leere Zeile oder ein leerer Absatz vorhanden ist.
Ihre App kann das Zeilentrennzeichen verwenden, um ein bedingungsloses Ende der Zeile anzugeben. Zeilentrennzeichen entsprechen jedoch nicht den separaten Wagenrücklauf- und Zeilenfeedzeichen oder einer Kombination dieser Zeichen. Zeilentrennzeichen müssen getrennt von Wagenrücklauf- und Zeilenfeedzeichen verarbeitet werden.
Ihre App kann ein Absatztrennzeichen zwischen Textabsätzen einfügen. Die Verwendung dieses Trennzeichens ermöglicht die Erstellung von Nur-Text-Dateien, die mit unterschiedlichen Zeilenbreiten auf verschiedenen Betriebssystemen formatiert werden können. Das Zielsystem kann alle Zeilentrennzeichen ignorieren und Absätze nur an den Absatztrennzeichen umbrechen.
Richtlinien für die Rechtschreibprüfung
Gilt für: TextBox, RichEditBox
Während der Texteingabe und -bearbeitung informiert die Rechtschreibprüfung den Benutzer darüber, dass ein Wort falsch geschrieben ist, indem es mit einer roten Wellenlinie hervorgehoben wird und dem Benutzer die Möglichkeit bietet, die Rechtschreibfehler zu korrigieren.
Hier ist ein Beispiel für die integrierte Rechtschreibprüfung:
Verwenden Sie die Rechtschreibprüfung mit Texteingabesteuerelementen für diese beiden Zwecke:
Zur automatischen Korrektur von Rechtschreibfehlern
Das Rechtschreibprüfungsmodul korrigiert falsch geschriebene Wörter automatisch, wenn die Korrektur sicher ist. Beispielsweise ändert das Modul automatisch "the" in "the".
Zur Anzeige von alternativen Schreibungen
Wenn das Rechtschreibprüfungsmodul nicht sicher zu den Korrekturen ist, fügt es eine rote Linie unter dem falsch geschriebenen Wort hinzu und zeigt die Alternativen in einem Kontextmenü an, wenn Sie mit der rechten Maustaste auf das Wort tippen oder klicken.
Verwenden Sie die Rechtschreibprüfung, um Benutzern beim Eingeben von Wörtern oder Sätzen in Texteingabesteuerelemente zu helfen. Die Rechtschreibprüfung funktioniert mit Touch-, Maus- und Tastatureingaben.
Verwenden Sie die Rechtschreibprüfung nicht, wenn sich ein Wort wahrscheinlich nicht im Wörterbuch befindet oder wenn Benutzer die Rechtschreibprüfung nicht wertweisen würden. Aktivieren Sie sie beispielsweise nicht, wenn das Textfeld eine Telefonnummer oder einen Namen erfassen soll.
Deaktivieren Sie die Rechtschreibprüfung nicht nur, weil das aktuelle Rechtschreibprüfungsmodul Ihre App-Sprache nicht unterstützt. Wenn die Rechtschreibprüfung keine Sprache unterstützt, tut sie nichts, sodass die Option nicht aktiviert wird. Außerdem können einige Benutzer einen Eingabemethoden-Editor (INPUT Method Editor, IME) verwenden, um eine andere Sprache in Ihre App einzugeben, und diese Sprache wird möglicherweise unterstützt. Wenn Sie beispielsweise eine japanische Sprach-App erstellen, auch wenn das Rechtschreibprüfungsmodul diese Sprache derzeit nicht erkennt, deaktivieren Sie die Rechtschreibprüfung nicht. Der Benutzer kann zu einem englischen IME wechseln und Englisch in die App eingeben; Wenn die Rechtschreibprüfung aktiviert ist, wird die Rechtschreibprüfung für Englisch überprüft.
Bei TextBox- und RichEditBox-Steuerelementen ist die Rechtschreibprüfung standardmäßig aktiviert. Sie können sie deaktivieren, indem Sie die IsSpellCheckEnabled-Eigenschaft auf "false" festlegen.
Verwandte Artikel
Für Designer
- Typografierichtlinien
- Symbolliste und Richtlinien für Segoe MDL2-Symbole
- Hinzufügen von Suchfunktionen
Für Entwickler (XAML)
Windows developer