Inhaltssteuerelemente

Aktualisiert: Juli 2008

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Word 2007

Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Mithilfe von Inhaltssteuerelementen können Sie Dokumente und Vorlagen entwerfen, die folgende Features aufweisen:

  • Eine Benutzeroberfläche mit verwalteten Benutzereingaben wie bei einem Formular.

  • Beschränkungen, die verhindern, dass Benutzer geschützte Abschnitte des Dokuments oder der Vorlage bearbeiten. Weitere Informationen finden Sie unter Schützen von Teilen von Dokumenten mit Inhaltssteuerelementen.

  • Datenbindung an eine Datenquelle. Weitere Informationen finden Sie unter Binden von Daten an Inhaltssteuerelemente.

Übersicht über Inhaltssteuerelemente

Inhaltssteuerelemente stellen eine Benutzeroberfläche bereit, die für sowohl für Benutzereingaben als auch für das Drucken optimiert ist. Wenn Sie einem Dokument ein Inhaltssteuerelement hinzufügen, wird das Steuerelement durch einen Rahmen, einen Titel und temporären Text angegeben, der Anweisungen für den Benutzer enthalten kann. In gedruckten Versionen des Dokuments werden der Rahmen und der Titel des Steuerelements nicht angezeigt.

Wenn Sie beispielsweise möchten, dass der Benutzer in einem Abschnitt des Dokuments ein Datum eingibt, können Sie dem Dokument ein Inhaltssteuerelement für die Datumsauswahl hinzufügen. Wenn der Benutzer auf das Steuerelement klickt, wird die Standardbenutzeroberfläche für die Datumsauswahl angezeigt. Über die Eigenschaften des Steuerelements können Sie auch festlegen, welcher regionale Kalender angezeigt wird, und das Datumsformat angeben. Nachdem der Benutzer ein Datum ausgewählt hat, wird die Benutzeroberfläche des Steuerelements ausgeblendet. Wenn der Benutzer das Dokument druckt, wird im gedruckten Text nur das Datum angezeigt.

Inhaltssteuerelemente helfen Ihnen auch bei der Ausführung der folgenden Aufgaben:

  • Verhindern, dass Benutzer Teile von Dokumenten bearbeiten oder löschen. Dieses Feature ist hilfreich, wenn ein Dokument oder eine Vorlage Informationen enthält, die Benutzer lesen, jedoch nicht bearbeiten können, oder wenn Sie möchten, dass Benutzer Steuerelemente bearbeiten, jedoch nicht löschen können.

  • Binden von Teilen eines Dokuments oder einer Vorlage an Daten. Sie können Inhaltssteuerelemente an Datenbankfelder, verwaltete Objekte in .NET Framework, im Dokument gespeicherte XML-Elemente und andere Datenquellen binden.

In Projekten auf Dokumentebene können Sie dem Dokument Inhaltssteuerelemente zur Entwurfszeit oder zur Laufzeit hinzufügen. Ab Visual Studio 2008 Service Pack 1 (SP1) können Sie jedem geöffneten Dokument zur Laufzeit Inhaltssteuerelemente mit einem Add-In auf Anwendungsebene hinzufügen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten.

Hinweis:

Sie können Inhaltssteuerelemente nur in Dokumenten verwenden, die in einem Open XML-Format von Word 2007 gespeichert sind. Inhaltssteuerelemente können nicht in Dokumenten verwendet werden, die im Word 97-2003-Dokumentformat (DOC-Dateien) gespeichert sind.

Typen von Inhaltssteuerelementen

Es gibt acht verschiedene Typen von Inhaltssteuerelementen, die Sie mithilfe von Visual Studio Tools for Office zu Dokumenten hinzufügen können. Jedes der Inhaltssteuerelemente verfügt über eine entsprechende Klasse im Microsoft.Office.Tools.Word-Namespace. Sie können auch die ContentControl-Klasse verwenden, die jede der verfügbaren Inhaltssteuerelemente darstellen kann.

Eine exemplarische Vorgehensweise, in der veranschaulicht wird, wie die einzelnen verfügbaren Inhaltssteuerelemente verwendet werden, finden Sie unter Exemplarische Vorgehensweise: Erstellen einer Vorlage mithilfe von Inhaltssteuerelementen.

Bausteinkatalog

Mit einem Bausteinkatalog können Benutzer Bausteine aus einer Liste von Dokumentbausteinen auswählen, die in ein Dokument eingefügt werden können. Ein Dokumentbaustein ist ein Inhaltselement, das zur mehrmaligen Verwendung erstellt wurde, beispielsweise eine allgemeine Titelseite, eine formatierte Tabelle oder einen Header. Weitere Informationen finden Sie in den Ausführungen zur BuildingBlockGalleryContentControl-Klasse. Weitere Informationen zu Bausteinen finden Sie unter What's New for Developers in Word 2007.

Kombinationsfeld

Ein Kombinationsfeld zeigt eine Liste von Elementen an, die von Benutzern ausgewählt werden können. Im Gegensatz zu einer Dropdownliste kann ein Benutzer über das Kombinationsfeld eigene Elemente hinzufügen. Weitere Informationen finden Sie in den Ausführungen zur ComboBoxContentControl-Klasse.

Datumsauswahl

Eine Datumsauswahl bietet eine Kalenderbenutzeroberfläche für die Auswahl des Datums. Der Kalender wird angezeigt, wenn der Endbenutzer auf den Dropdownpfeil im Steuerelement klickt. Sie können regionale Kalender und verschiedene Datumsformate verwenden. Weitere Informationen finden Sie in den Ausführungen zur DatePickerContentControl-Klasse.

Eine Dropdownliste zeigt eine Liste von Elementen an, die von Benutzern ausgewählt werden können. Im Gegensatz zu einem Kombinationsfeld können Benutzer über die Dropdownliste keine Elemente hinzufügen oder bearbeiten. Weitere Informationen finden Sie in den Ausführungen zur DropDownListContentControl-Klasse.

Gruppe

Ein Gruppen-Steuerelement definiert einen geschützten Bereich in einem Dokument, den Benutzer nicht bearbeiten oder löschen können. Ein Gruppen-Steuerelement kann jedes beliebige Dokumentelement enthalten, z. B. Text, Tabellen, Grafiken und andere Inhaltssteuerelemente. Weitere Informationen finden Sie in den Ausführungen zur GroupContentControl-Klasse.

Bild

Ein Bild-Steuerelement zeigt ein Bild an. Sie können das Bild zur Entwurfszeit oder zur Laufzeit angeben, oder Benutzer können auf dieses Steuerelement klicken, um ein Bild auszuwählen, das in das Dokument eingefügt werden soll. Weitere Informationen finden Sie in den Ausführungen zur PictureContentControl-Klasse.

Rich-Text

Ein Rich-Text-Steuerelement enthält Text oder andere Elemente, z. B. Tabellen, Bilder oder andere Inhaltssteuerelemente. Weitere Informationen finden Sie in den Ausführungen zur RichTextContentControl-Klasse.

Nur-Text

Ein Nur-Text-Steuerelement enthält Text. Ein Nur-Text-Steuerelement kann keine anderen Elemente als Text enthalten, z. B. Tabellen, Bilder oder andere Inhaltssteuerelemente. Außerdem wird auf den gesamten Text in einem Nur-Text-Steuerelement die gleiche Formatierung angewendet. Wenn Sie beispielsweise ein Wort in einem Satz, der sich in einem Nur-Text-Steuerelement befindet, kursiv formatieren, wird der gesamte Text im Steuerelement kursiv formatiert. Weitere Informationen finden Sie in den Ausführungen zur PlainTextContentControl-Klasse.

ContentControl

Ein ContentControl-Objekt ist ein änderbares Steuerelement, das jeden der acht Typen von Steuerelementen darstellen kann. Sie können ein ContentControl-Objekt mithilfe der Type-Eigenschaft so ändern, dass es sich wie ein anderer Steuerelementtyp verhält. Wenn Sie beispielsweise ein ContentControl-Objekt erstellen, das ein Nur-Text-Steuerelement darstellt, können Sie es zur Laufzeit so ändern, dass es sich wie ein Kombinationsfeld verhält.

Sie können ContentControl-Objekte nur zur Laufzeit erstellen. Zur Entwurfszeit ist dies nicht möglich. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten.

Allgemeine Features von Inhaltssteuerelementen

Die meisten der Inhaltssteuerelemente in Visual Studio Tools for Office nutzen einen Satz von Membern gemeinsam, die Sie zum Ausführen von häufigen Aufgaben verwenden können. In der folgenden Tabelle werden einige der Aufgaben beschrieben, die Sie mithilfe dieser Member ausführen können.

Aufgabe:

Vorgehensweise:

Rufen Sie den Text ab, oder legen Sie den Text fest, der im Steuerelement angezeigt wird.

Verwenden Sie die Text-Eigenschaft.

Hinweis:
Die PictureContentControl-Klasse und die ContentControl-Klasse besitzen diese Eigenschaft nicht.

Rufen Sie den temporären Text ab, oder legen Sie den Text fest, der im Steuerelement angezeigt wird, bis ein Benutzer das Steuerelement bearbeitet, das Steuerelement mit Daten aus einer Datenquelle gefüllt oder der Inhalt des Steuerelements gelöscht wird.

Verwenden Sie die PlaceholderText-Eigenschaft.

Hinweis:
Die PictureContentControl-Klasse besitzt diese Eigenschaft nicht.

Rufen Sie den Titel ab, oder legen Sie den Titel fest, der im Rahmen des Inhaltssteuerelements angezeigt wird, wenn der Benutzer darauf klickt.

Verwenden Sie die Title-Eigenschaft.

Entfernen Sie das Steuerelement automatisch aus dem Dokument, nachdem der Benutzer das Steuerelement bearbeitet hat (der im Steuerelement enthaltene Text verbleibt im Dokument).

Verwenden Sie die Temporary-Eigenschaft.

Führen Sie Code aus, wenn der Benutzer in das Inhaltssteuerelement klickt oder der Cursor programmgesteuert in das Inhaltssteuerelement bewegt wird.

Behandeln Sie das Entering-Ereignis des Steuerelements.

Führen Sie Code aus, wenn der Benutzer außerhalb des Inhaltssteuerelements klickt oder der Cursor programmgesteuert aus dem Inhaltssteuerelement heraus bewegt wird.

Behandeln Sie das Exiting-Ereignis des Steuerelements.

Führen Sie Code aus, nachdem das Inhaltssteuerelement als Ergebnis eines Wiederholen-Vorgangs oder eines Rückgängig-Vorgangs zum Dokument hinzugefügt wird.

Behandeln Sie das Added-Ereignis des Steuerelements.

Führen Sie Code aus, kurz bevor das Inhaltssteuerelement aus dem Dokument gelöscht wird.

Behandeln Sie das Deleting-Ereignis des Steuerelements.

Schützen von Teilen von Dokumenten mit Inhaltssteuerelementen

Wenn Sie einen Teil eines Dokuments schützen, können Benutzer in diesem Teil des Dokuments keine Änderungen am Inhalt vornehmen oder den Inhalt löschen. Es gibt mehrere Methoden, wie Sie Teile eines Dokuments mithilfe von Inhaltssteuerelementen schützen können.

Wenn der Bereich, den Sie schützen möchten, sich innerhalb eines Inhaltssteuerelements befindet, können Sie Eigenschaften des Inhaltssteuerelements verwenden, um zu verhindern, dass Benutzer das Steuerelement bearbeiten oder löschen.

  • Die LockContents-Eigenschaft verhindert, dass Benutzer den Inhalt bearbeiten.

  • Die LockContentControl-Eigenschaft verhindert, dass Benutzer das Steuerelement löschen.

Wenn der Bereich, den Sie schützen möchten, sich nicht innerhalb eines Inhaltssteuerelements befindet, oder Sie einen Bereich schützen möchten, der Inhaltssteuerelemente und andere Inhaltstypen enthält, können Sie den gesamten Bereich in ein GroupContentControl-Element einfügen. Im Gegensatz zu anderen Inhaltssteuerelementen bietet ein GroupContentControl-Element keine Benutzeroberfläche, die für den Benutzer sichtbar ist. Sein einziger Zweck besteht darin, einen Bereich zu definieren, den Benutzer nicht bearbeiten können.

Hinweis:

Wenn Sie ein GroupContentControl-Element mit eingebetteten Inhaltssteuerelementen erstellen, sind die eingebetteten Inhaltssteuerelemente nicht automatisch geschützt. Sie müssen für jedes eingebettete Steuerelement die LockContents-Eigenschaft verwenden, um zu verhindern, dass Benutzer den Inhalt des Steuerelements bearbeiten.

Weitere Informationen dazu, wie Sie mit Inhaltssteuerelementen Teile von Dokumenten schützen, finden Sie unter Gewusst wie: Schützen von Teilen von Dokumenten mithilfe von Inhaltssteuerelementen.

Binden von Daten an Inhaltssteuerelemente

Sie können Daten in Dokumenten anzeigen, indem Sie ein Inhaltssteuerelement an eine Datenquelle binden. Das Inhaltssteuerelement zeigt die vorgenommenen Änderungen an, wenn die Datenquelle aktualisiert wird. Sie können Änderungen auch zurück in die Datenquelle speichern.

Inhaltssteuerelemente stellen die folgenden Datenbindungsoptionen zur Verfügung:

  • Sie können Inhaltssteuerelemente an Datenbankfelder oder verwaltete Objekte binden, indem Sie das gleiche Datenbindungsmodell wie Windows Forms verwenden.

  • Sie können Inhaltssteuerelemente an Elemente in Teilen von XML-Code (auch benutzerdefinierte XML-Abschnitte genannt) binden, die im Dokument eingebettet sind.

Eine Übersicht über die Bindung von Hoststeuerelementen in Visual Studio Tools for Office-Projektmappen an Daten finden Sie unter Binden von Daten an Steuerelemente.

Verwenden des Windows Forms-Datenbindungsmodells

Die meisten Inhaltssteuerelemente unterstützen das einfache Datenbindungsmodell, das von Windows Forms verwendet wird. Eine einfache Datenbindung bedeutet, dass ein Steuerelement an ein einzelnes Datenelement (z. B. einen Wert in einer Spalte einer Datentabelle) gebunden wird. Weitere Informationen finden Sie unter Datenbindung und Windows Forms.

In Projekten auf Dokumentebene können Sie Daten mithilfe des Fensters Datenquellen in Visual Studio an Inhaltssteuerelemente binden. Weitere Informationen zum Hinzufügen von datengebundenen Inhaltssteuerelementen zu Dokumenten finden Sie unter Gewusst wie: Auffüllen von Dokumenten mit Daten aus einer Datenbank und unter Gewusst wie: Auffüllen von Dokumenten mit Daten von Objekten.

Die Inhaltssteuerelemente, die Sie an die einzelnen Datentypen im Fenster Datenquellen binden können, sind in der folgenden Tabelle aufgelistet.

Datentyp

Standardinhaltssteuerelement

Andere Inhaltssteuerelemente, die an diesen Datentyp gebunden werden können

Boolean

Byte

Char

Double

Enum

Guid

Int16

Int32

Int64

SByte

Single

String

TimeSpan

UInt16

UInt32

UInt64

PlainTextContentControl

BuildingBlockGalleryContentControl

ComboBoxContentControl

DatePickerContentControl

RichTextContentControl

DateTime

DatePickerContentControl

BuildingBlockGalleryContentControl

ComboBoxContentControl

PlainTextContentControl

RichTextContentControl

Image

Byte-Array

PictureContentControl

Keine

In Projekten auf Dokumentebene und auf Anwendungsebene können Sie ein Inhaltssteuerelement programmgesteuert mit der Add-Methode der DataBindings-Eigenschaft des Steuerelements an eine Datenquelle binden. Übergeben Sie in diesem Fall die Zeichenfolge Text an den propertyName-Parameter der Add-Methode. Die Text-Eigenschaft ist die standardmäßige Datenbindungseigenschaft von Inhaltssteuerelementen.

Inhaltssteuerelemente unterstützen auch die bidirektionale Datenbindung, bei der die Datenquelle aktualisiert wird, wenn Änderungen am Steuerelement vorgenommen werden. Weitere Informationen finden Sie unter Gewusst wie: Aktualisieren einer Datenquelle mit Daten eines Hoststeuerelements.

Hinweis:

Inhaltssteuerelemente unterstützen keine komplexe Datenbindung. Wenn Sie ein DropDownListContentControl-Element oder ein ComboBoxContentControl-Element an eine Datenquelle binden, indem Sie das Windows Forms-Datenmodell verwenden, wird nur ein einziger Wert angezeigt, wenn Benutzer auf das Steuerelement klicken. Wenn Sie diese Steuerelemente an eine Gruppe von Datenwerten binden möchten, aus denen Benutzer einen Wert auswählen können, können Sie diese Steuerelemente an Elemente in einem benutzerdefinierten XML-Abschnitt binden.

Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Abschnitte

Sie können einige Inhaltssteuerelemente an Elemente in benutzerdefinierten XML-Abschnitten binden, die im Dokument eingebettet sind. Weitere Informationen zu benutzerdefinierten XML-Abschnitten finden Sie unter Übersicht über benutzerdefinierte XML-Abschnitte.

Mithilfe der XMLMapping-Eigenschaft des Steuerelements können Sie ein Inhaltssteuerelement an ein Element in einem benutzerdefinierten XML-Abschnitt binden. Im folgenden Codebeispiel wird veranschaulicht, wie Sie ein PlainTextContentControl-Element an das Price-Element unter dem Product-Knoten in einem benutzerdefinierten XML-Abschnitt binden, der bereits zum Dokument hinzugefügt wurde.

plainTextContentControl1.XMLMapping.SetMapping("/Product/Price")
plainTextContentControl1.XMLMapping.SetMapping("/Product/Price", String.Empty, null);

Eine exemplarische Vorgehensweise, die das Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Abschnitte veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Abschnitte.

Wenn Sie ein Inhaltssteuerelement an einen benutzerdefinierten XML-Abschnitt binden, wird die bidirektionale Datenbindung automatisch aktiviert. Wenn ein Benutzer im Steuerelement Text bearbeitet, werden die entsprechenden XML-Elemente automatisch aktualisiert. Entsprechend zeigen die Inhaltssteuerelemente, die an die XML-Elemente gebunden sind, die neuen Daten an, wenn Elementwerte in den benutzerdefinierten XML-Abschnitten geändert werden.

Sie können die folgenden Typen von Inhaltssteuerelementen an benutzerdefinierte XML-Abschnitte binden:

Datenbindungsereignisse für Inhaltssteuerelemente

Alle Inhaltssteuerelemente bieten einen Satz von Ereignissen, die Sie behandeln können, um datenbezogene Aufgaben auszuführen. Sie können beispielsweise überprüfen, ob der Text in einem Steuerelement bestimmten Kriterien entspricht, bevor die Datenquelle aktualisiert wird. In der folgenden Tabelle werden die Ereignisse für Inhaltssteuerelemente aufgelistet, die in Zusammenhang mit der Datenbindung stehen.

Aufgabe

Ereignis

Ausführen von Code, bevor Word den Text in einem Inhaltssteuerelement automatisch aktualisiert, das an einen benutzerdefinierten XML-Abschnitt gebunden ist

ContentUpdating

Ausführen von Code, bevor Word den Text in einem benutzerdefinierten XML-Abschnitt automatisch aktualisiert, der an ein Inhaltssteuerelement gebunden ist (nachdem der Text im Inhaltssteuerelement sich ändert)

StoreUpdating

Ausführen von eigenem Code, um den Inhalt des Steuerelements gemäß benutzerdefinierten Kriterien zu überprüfen

Validating

Ausführen von Code, nachdem der Inhalt des Steuerelements erfolgreich überprüft wurde

Validated

Einschränkungen für Inhaltssteuerelemente

Wenn Sie Inhaltssteuerelemente in Visual Studio Tools for Office-Projekten verwenden, beachten Sie die folgenden Einschränkungen.

Unterschiedliches Verhalten zur Entwurfs- und Laufzeit

Viele der Einschränkungen, die in Microsoft Office Word für Inhaltssteuerelemente zur Entwurfszeit gelten, werden zur Laufzeit nicht erzwungen. Wenn Sie die Benutzeroberfläche einer Projektmappe auf Dokumentebene in Visual Studio entwerfen, sollten Sie Inhaltssteuerelemente nur auf eine Weise ändern, die zur Laufzeit unterstützt wird.

Wenn Sie an einem Inhaltssteuerelement zur Entwurfszeit Änderungen vornehmen, die zur Laufzeit nicht unterstützt werden, zeigt Visual Studio Designer keine Warnmeldung an, in der Sie auf die nicht unterstützten Änderungen hingewiesen werden. Wenn Sie das Projekt jedoch debuggen oder ausführen, oder wenn Sie es speichern und dann erneut öffnen, zeigt Word eine Fehlermeldung an und fordert die Berechtigung an, das Dokument zu reparieren. Wenn Sie das Dokument reparieren, entfernt Word die nicht unterstützten Inhalte und Formatierungen aus dem Steuerelement.

Word verhindert beispielsweise nicht, dass Sie einem PlainTextContentControl-Element zur Entwurfszeit eine Tabelle hinzufügen. Da PlainTextContentControl-Objekte jedoch zur Laufzeit keine Tabellen unterstützen, wird in Word eine Fehlermeldung angezeigt, wenn das Dokument geöffnet wird.

Beachten Sie auch, dass viele Eigenschaften, mit denen das Verhalten von Inhaltssteuerelementen definiert wird, zur Entwurfszeit keine Auswirkungen haben. Wenn Sie beispielsweise zur Entwurfszeit die LockContents-Eigenschaft eines Inhaltssteuerelements zur Laufzeit auf True festlegen, können Sie im Visual Studio Designer immer noch Text im Steuerelement bearbeiten. Diese Eigenschaft verhindert nur, dass Benutzer das Steuerelement zur Laufzeit bearbeiten.

Einschränkungen für Ereignisse

Inhaltssteuerelemente stellen kein Ereignis bereit, das ausgelöst wird, wenn der Benutzer Text oder andere Elemente im Steuerelement ändert. Es gibt beispielsweise kein Ereignis, das ausgelöst wird, wenn der Benutzer ein anderes Element in einem DropDownListContentControl-Element oder einem ComboBoxContentControl-Element auswählt.

Um festzustellen, wann ein Benutzer den Inhalt eines Inhaltssteuerelements bearbeitet, können Sie das Steuerelement an einen benutzerdefinierten XML-Abschnitt binden und dann das StoreUpdating-Ereignis behandeln. Dieses Ereignis wird ausgelöst, wenn der Benutzer den Inhalt eines Steuerelements ändert, das an einen benutzerdefinierten XML-Abschnitt gebunden ist. Eine exemplarische Vorgehensweise, die das Binden eines Inhaltssteuerelements an einen benutzerdefinierten XML-Abschnitt veranschaulicht, finden Sie unter Exemplarische Vorgehensweise: Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Abschnitte.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten

Exemplarische Vorgehensweise: Erstellen einer Vorlage mithilfe von Inhaltssteuerelementen

Konzepte

Binden von Daten an Steuerelemente

Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen

Weitere Ressourcen

Word-Hoststeuerelemente

Daten in Office-Lösungen

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Informationen über das Verwenden von Inhaltssteuerelementen in Projekten auf Anwendungsebene hinzugefügt.

SP1-Featureänderung.