Freigeben über


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.

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. Obwohl Sie Zeilenumbrüche in den Text einfügen können, ist TextBlock so konzipiert, dass ein einzelner Absatz angezeigt wird und der Texteinzug nicht unterstützt wird.

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

Verwenden Sie ein TextBox-Steuerelement , damit ein Benutzer unformatierten Text eingeben und bearbeiten kann, z. B. in einem Formular. Mit der Text-Eigenschaft können Sie den Text in einem TextBox-Objekt abrufen und festlegen.

Sie können ein TextBox-Objekt schreibgeschützt erstellen, dies sollte jedoch ein temporärer bedingter Zustand sein. Wenn der Text nie bearbeitbar ist, sollten Sie stattdessen einen TextBlock verwenden.

Verwenden Sie ein PasswordBox-Steuerelement , um ein Kennwort oder andere private Daten zu sammeln, z. B. eine Sozialversicherungsnummer. Ein Kennwortfeld ist ein Texteingabefeld, das die darin eingegebenen Zeichen aus Datenschutzgründen verdeckt. Ein Kennwortfeld sieht wie ein Texteingabefeld aus, es sei denn, es rendert Aufzählungszeichen anstelle des eingegebenen Texts. 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 die 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, alle gültigen Werte effizient aufzä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 einen relativ kleinen Satz gültiger 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.
  • Sind die gültigen Daten völlig unbeschränkt? Oder sind die gültigen Daten nur durch Format eingeschränkt (eingeschränkte Länge oder Zeichentypen)? 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 beispielsweise ein DatePicker-Steuerelement anstelle eines Texteingabesteuerelements, um einen Datumseintrag zu akzeptieren.
  • Wenn die Daten streng numerisch sind:
    • Ist der eingegebene Wert ungefähr und/oder relativ zu einer anderen Menge auf derselben Seite? Wenn ja, verwenden Sie einen Schieberegler.
    • Würde der Benutzer von sofortigem Feedback zu den Auswirkungen von Einstellungsänderungen profitieren? Wenn ja, verwenden Sie einen Schieberegler, möglicherweise mit einem begleitenden Steuerelement.
    • Wird der eingegebene Wert wahrscheinlich angepasst, nachdem das Ergebnis beobachtet wurde, z. B. mit Lautstärke oder Bildschirmhelligkeit? Wenn ja, verwenden Sie einen Schieberegler.

Examples

WinUI 2-Katalog
WinUI-Katalog

Wenn Sie die WinUI 2 Gallery-App installiert haben, klicken Sie hier, um die App zu öffnen und die Textsteuerelemente in Aktion anzuzeigen.

Textfeld

Ein Textfeld

Feld "Automatische Vorschläge"

Beispiel für das erweiterte Steuerelement für automatische Vorschläge

Kennwortfeld

Kennwortfeld-Fokuszustand, der Text eingibt

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, bieten XAML-Texteingabefelder eingebettete Unterstützung für Stifteingaben mit Windows Ink. Wenn ein Benutzer mithilfe eines Windows-Stifts auf ein Texteingabefeld tippt, wird das Textfeld transformiert, damit der Benutzer direkt mit einem Stift in das Textfeld schreiben kann, anstatt einen separaten Eingabebereich zu öffnen.

Textfeld wird erweitert, wenn mit dem Stift getippt wird

Weitere Informationen finden Sie unter "Texteingabe" in der Schriftansicht.

Auswählen der richtigen Tastatur für Ihr Textsteuerelement

Gilt für: TextBox, PasswordBox RichEditBox

Um Benutzern bei der Eingabe von Daten mithilfe der Bildschirmtastatur oder des Soft Input Panel (SIP) zu helfen, können Sie den Eingabeumfang des Textsteuerelements so festlegen, dass er mit der Art der Daten übereinstimmt, die der Benutzer eingeben wird.

Tipp: Diese Informationen gelten nur für das SIP. Sie 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 Bildschirmtastatur wird aufgerufen, wenn der Benutzer auf ein bearbeitbares Eingabefeld tippt, z. B. textBox oder RichEditBox. Sie können benutzern die Eingabe von Daten in Ihre App wesentlich schneller und einfacher machen, indem Sie den Eingabeumfang des Textsteuerelements so festlegen, dass sie mit der Art der Daten übereinstimmt, die der Benutzer eingeben soll. Der Eingabeumfang bietet dem System einen Hinweis auf die Art der texteingabe, die vom Steuerelement erwartet wird, damit das System ein spezielles Bildschirmtastaturlayout für den Eingabetyp bereitstellen kann.

Wenn beispielsweise ein Textfeld nur zum Eingeben einer 4-stelligen PIN verwendet wird, legen Sie die InputScope-Eigenschaft auf "Number" fest. Dadurch wird dem System mitgeteilt, dass das Layout der Nummerntastatur angezeigt wird, wodurch der Benutzer die PIN einfacher eingeben kann.

Von Bedeutung
Der Eingabebereich bewirkt keine Eingabeüberprüfung und verhindert nicht, dass der Benutzer Eingaben über eine Hardwaretastatatur oder ein anderes Eingabegerät bereitstellt. Sie sind weiterhin dafür verantwortlich, die Eingabe im Code nach Bedarf zu validieren.

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:

Textblock mit Farbschriftart

Weitere Informationen finden Sie in 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:

die integrierte Rechtschreibprüfung

Verwenden Sie die Rechtschreibprüfung mit Texteingabesteuerelementen für diese beiden Zwecke:

  • So korrigieren Sie Rechtschreibfehler automatisch

    Das Rechtschreibprüfungsmodul korrigiert falsch geschriebene Wörter automatisch, wenn die Korrektur sicher ist. Beispielsweise ändert das Modul automatisch "the" in "the".

  • So zeigen Sie alternative Rechtschreibungen an

    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.

Für Designer

Für Entwickler (XAML)