Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

RichTextBox-Klasse

Aktualisiert: November 2007

Stellt ein Rich Edit-Steuerelement dar, das sich auf FlowDocument-Objekte auswirkt.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.Inherit)]
[ContentPropertyAttribute("Document")]
public class RichTextBox : TextBoxBase, 
	IAddChild
/** @attribute LocalizabilityAttribute(LocalizationCategory.Inherit) */
/** @attribute ContentPropertyAttribute("Document") */
public class RichTextBox extends TextBoxBase implements IAddChild
public class RichTextBox extends TextBoxBase implements IAddChild
<RichTextBox>
  Document
</RichTextBox>

FlowDocument ist das einzige unterstützte untergeordnete Element für eine RichTextBox.

ms612650.alert_caution(de-de,VS.90).gifWichtiger Hinweis:

RichTextBox bietet eine integrierte Behandlung für das Bubbling-MouseUp-Ereignis und das MouseDown-Ereignis. Aus diesem Grund werden auch keine benutzerdefinierten Ereignishandler aufgerufen, die das MouseUp-Ereignis oder das MouseDown-Ereignis einer RichTextBox überwachen. Wenn Sie diese Ereignisse behandeln möchten, überwachen Sie stattdessen das Tunneling-PreviewMouseUp-Ereignis und das PreviewMouseDown-Ereignis, oder registrieren Sie die Handler mit dem HandledEventsToo-Argument (die zweite Möglichkeit steht nur im Code zur Verfügung). Kennzeichnen Sie das Ereignis nur dann als behandelt, wenn Sie die in der RichTextBox integrierte Behandlung dieser Ereignisse deaktivieren möchten. Beachten Sie dabei, dass dies deutliche Auswirkungen auf die Benutzeroberfläche des Steuerelements hat.

RichTextBox unterstützt zwar das Kopieren und Einfügen von Bildern, gewisse Szenarios werden derzeit jedoch nicht unterstützt und werden daher möglicherweise nicht ordnungsgemäß ausgeführt. In der folgenden Tabelle werden diese Szenarios und erwartete Ergebnisse zusammengefasst.

Quelle für Bildkopiervorgang

Ergebnis für Bildeinfügevorgang

Die Bildquelle ist eine Grafikmetadatei.

Kein Bild wird eingefügt.

Die Bildquelle verwendet einen relativen Pfad oder Link.

Ein verstümmeltes oder leeres Bild wird eingefügt.

Der Link zur Bildquelle endet nicht mit einem erwarteten Bildformat (.PNG, .JPG, .GIF).

Ein verstümmeltes oder leeres Bild wird eingefügt.

Die Bildquelle wird aus einem falsch formatierten RTF-Format (RichText) kopiert.

Der Link zur Bildquelle wird eingefügt (und nicht das Bild).

Das Einfügen von HTML-Inhalten in eine RichTextBox kann zu einem unerwarteten Verhalten führen, da RichTextBox das RTF-Format und nicht direkt das HTML-Format verwendet.

Text wird in einer RichTextBox immer umbrochen. Wenn kein Textumbruch vorgenommen werden soll, legen Sie die PageWidth für das FlowDocument auf eine größere Breite als die RichTextBox fest. Beim Erreichen der Seitenbreite wird der Text jedoch immer noch umbrochen.

Die horizontale oder vertikale Ausrichtung von Inhalten in einer RichTextBox erfolgt mithilfe der HorizontalContentAlignment-Eigenschaft und der VerticalContentAlignment-Eigenschaft. Die Ausrichtung der RichTextBox innerhalb des Layouts der Seite erfolgt mit der HorizontalAlignment-Eigenschaft und der VerticalAlignment-Eigenschaft.

Standardmäßig werden in einer RichTextBox keine Bildlaufleisten angezeigt. Um eine Bildlaufleiste sichtbar zu machen, legen Sie die VerticalScrollBarVisibility-Eigenschaft auf Visible oder auf Auto fest.

Sie sollten i. d. R. mit dem TextChanged-Ereignis ermitteln, wann Text in einem TextBox oder RichTextBox geändert wird, und dafür nicht (wie zu erwarten wäre) KeyDown verwenden. Ein Beispiel finden Sie unter Gewusst wie: Erkennen von Änderungen an Text in einem Textfeld.

RichTextBox unterstützt eine Vielzahl von Tastaturbefehlen. Eine Liste mit Tastaturbefehlen finden Sie unter EditingCommands.

Im folgenden Beispiel wird eine RichTextBox deklariert, die ein einfaches FlowDocument enthält.

<RichTextBox Name="richTB">
  <FlowDocument>
    <Paragraph>
      <Run>Paragraph 1</Run>
    </Paragraph>
    <Paragraph>
      <Run>Paragraph 2</Run>
    </Paragraph>
    <Paragraph>
      <Run>Paragraph 3</Run>
    </Paragraph>
  </FlowDocument>
</RichTextBox>


using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Documents;
namespace SDKSample
{
    public partial class RichTextBoxExample : Page
    {
        public RichTextBoxExample()
        {

            StackPanel myStackPanel = new StackPanel();

            // Create a FlowDocument to contain content for the RichTextBox.
            FlowDocument myFlowDoc = new FlowDocument();

            // Add paragraphs to the FlowDocument.
            myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
            myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
            myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
            RichTextBox myRichTextBox = new RichTextBox();

            // Add initial content to the RichTextBox.
            myRichTextBox.Document = myFlowDoc;

            myStackPanel.Children.Add(myRichTextBox);
            this.Content = myStackPanel;

        }
    }
}


Weiterer Code

Gewusst wie: Extrahieren von Textinhalt aus einer RichTextBoxIn diesem Beispiel wird gezeigt, wie der Inhalt von RichTextBox als Nur-Text extrahiert wird.
Gewusst wie: Positionieren eines benutzerdefinierten Kontextmenüs in einem "RichTextBox"-ElementDieses Beispiel zeigt, wie Sie für ein RichTextBox-Element ein benutzerdefiniertes Kontextmenü positionieren.
Gewusst wie: Ersetzen des Standardinhaltshosts für ein RichTextBoxIn diesem Beispiel wird veranschaulicht, wie mithilfe von Windows Presentation Foundation (WPF)-Formatvorlagen der Standardinhaltshost für ein RichTextBox ersetzt wird.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Control
              System.Windows.Controls.Primitives.TextBoxBase
                System.Windows.Controls.RichTextBox

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0
Anzeigen: