Schnellstart: Grundlagen zur Zwischenablage (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Die besten Apps geben Benutzern die größtmögliche Kontrolle über ihre Daten. Ein wichtiges Steuerungsverfahren, das die meisten Benutzer erwarten, sind Zwischenablageaktionen. Mit diesen Aktionen können Benutzer Daten ausschneiden, kopieren und einfügen. Zwischenablageaktionen können innerhalb einer App oder zwischen unterschiedlichen Apps auf demselben Computer auftreten. Mit der Zwischenablage können Benutzer auf einfache Weise die benötigten Informationen am gewünschten Ort nutzen.

Es gibt mehrere Möglichkeiten für das Teilen von Daten.

Bevor wir das Hinzufügen von Zwischenablageaktionen zu Ihrer App erklären, sollten Sie wissen, dass Windows 8 verschiedene Möglichkeiten für das Kopieren von Daten bietet. Eine Übersicht über diese Verfahren finden Sie unter Freigeben und Austauschen von Daten. Teilen als eine der Methoden hat viele Gemeinsamkeiten mit der Zwischenablage. Aus Entwicklersicht verwenden das Teilen und Zwischenablageaktionen denselben Windows-Namespace: Windows.ApplicationModel.DataTransfer. Außerdem muss Ihre App für beide Vorgänge die vom Benutzer ausgewählten Daten erfassen. (Dies wird oft als Verpacken bezeichnet, da Sie hierfür die DataPackage-Klasse verwenden.) Aus Benutzerperspektive stellt die Zwischenablage den "herkömmlichen" Weg für das Kopieren von Daten dar.

Sie sollten als Entwickler berücksichtigen, dass das Teilen und Zwischenablageaktionen trotz aller Gemeinsamkeiten auch wichtige Unterschieden aufweisen. Beim Teilen liegt der Fokus auf dem Ziel: die App oder der Dienst, die oder den der Benutzer auswählt. Bei der Zwischenablage liegt der Fokus mehr auf den Daten. Am wichtigsten ist jedoch, dass Zwischenablageaktionen die einzige Möglichkeit darstellen, Daten zwischen einer Desktop-App und einer Windows Store-App auszutauschen.

Weitere Informationen zu den Unterschieden zwischen dem Teilen und Zwischenablageaktionen finden Sie unter Freigeben und Austauschen von Daten.

Integrierte Unterstützung für die Zwischenablage

In vielen Fällen müssen Sie keinen Code für die Unterstützung von Zwischenablageaktionen schreiben. Viele der Steuerelemente, die Sie beim Erstellen Ihrer Windows Store-App verwenden können, unterstützen bereits Zwischenablageaktionen. Weitere Informationen zu den verfügbaren Steuerelementen finden Sie unter Hinzufügen von Steuerelementen und Inhalten.

Vorbereitung

Das Hinzufügen einer Unterstützung für Zwischenablageaktionen zu Ihrer App ist einfach. Lesen Sie zunächst Richtlinien und Prüfliste für Befehle der Zwischenablage. Sie finden dort zahlreiche Informationen, die Ihnen beim Optimieren der Benutzerfreundlichkeit bei Zwischenablageaktionen helfen, sowie einige Hinweise zur Verbesserung Ihres Codes.

Anschließend sollten Sie überlegen, welche Datenformate Sie unterstützen möchten. Unter Windows 8 gibt es zwei Kategorien von Formaten: Standardformate und benutzerdefinierte Formate. Zu den Standardformaten gehören zurzeit:

  • Text
  • HTML
  • URI
  • Bitmaps
  • StorageItems
  • RTF

Ein Beispiel für Zwischenablageaktionen, die diese Datenformate nutzen, finden Sie in unserem Codebeispiel. Lesen Sie auch das Referenzthema zur StandardDataFormats-Klasse, die Sie zum Angeben der von Ihrer App unterstützten Formate verwenden.

Benutzerdefinierte Datenformate sind, wie der Name vermuten lässt, Formate von Daten, die keinem der Standardformate entsprechen. Diese Formate stellen häufig logische Datensammlungen dar – z. B. eine Adresse oder ein Ereignis. Zur Unterstützung von benutzerdefinierten Formaten sollten Sie unbedingt eines der vielen Schemas unter http://schema.org/docs/full.htm verwenden. Durch die Verwendung allgemein bekannter Datenformate, wie diese Schemas, können Sie sicherstellen, dass die App die aus der Zwischenablage empfangenen Daten auch verarbeiten kann.

Erste Schritte

Die Unterstützung von Zwischenablageaktionen umfasst i. d. R. zwei Aspekte: Kopieren (oder Ausschneiden) und Einfügen. Erfahren Sie zunächst, wie Sie das Kopieren und Ausschneiden behandeln. Stellen Sie im ersten Schritt sicher, dass Ihre App über die erforderlichen Verweise verfügt. Wenn Sie eine Microsoft Visual Studio-Vorlage verwenden, werden diese Verweise direkt beim Erstellen eines neuen Projekts eingefügt. Wenn Sie nicht Visual Studio verwenden, müssen Sie Ihrer App Zugriff auf den Windows.ApplicationModel.DataTransfer-Namespace geben.

Nach der Einrichtung Ihres Projekts benötigen Sie eine Instanz des DataPackage-Objekts. Dieses Objekt enthält sowohl die vom Benutzer kopierten Daten als auch alle Eigenschaften (z. B. eine Beschreibung), die Sie einfügen möchten.

var dataPackage = new Windows.ApplicationModel.DataTransfer.DataPackage();

Kopieren und Ausschneiden

Sie können nun die Zwischenablageaktion angeben, die Sie durchführen möchten. Sie finden diese Aktionen über die DataPackageOperation-Aufzählung. So gehen Sie beim Kopieren vor:

var dataPackage = new Windows.ApplicationModel.DataTransfer.DataPackage();
dataPackage.requestedOperation = Windows.ApplicationModel.DataTransfer.DataPackageOperation.copy;

Und dies ist das Verfahren für das Ausschneiden (auch als Verschieben bezeichnet):

var dataPackage = new Windows.ApplicationModel.DataTransfer.DataPackage();
dataPackage.requestedOperation = Windows.ApplicationModel.DataTransfer.DataPackageOperation.move;

Sie können nun die vom Benutzer ausgewählten Daten in das DataPackage-Objekt einfügen. Wenn die Daten von der DataPackage-Klasse unterstützt werden, können Sie die entsprechenden Methoden aus dem DataPackage-Objekt verwenden.

So fügen Sie Text hinzu

dataPackage.setText("Hello World!");

Beispiele für das Hinzufügen anderer Formate zum DataPackage finden Sie im Zwischenablagebeispiel in der Codegalerie. Sie können DataPackage übrigens mehrere Formate hinzufügen.

Zuletzt müssen Sie das DataPackage in die Zwischenablage einfügen. Rufen Sie dafür die statische Clipboard.setContent-Methode auf.

Windows.ApplicationModel.DataTransfer.Clipboard.setContent(dataPackage);

Einfügen

Rufen Sie zum Abrufen des Zwischenablageinhalts die statische Clipboard.getContent-Methode auf. Die Methode gibt eine DataPackageView mit dem Inhalt zurück. Dieses Objekt ist mit dem DataPackage-Objekt nahezu identisch, lediglich der Inhalt ist schreibgeschützt. Anhand dieses Objekts können Sie dann entweder mit der AvailableFormats-Methode oder mit der contains-Methode ermitteln, welche Formate verfügbar sind. Rufen Sie anschließend die entsprechende DataPackageView-Methode auf, um die Daten abzurufen. Mit dem folgenden Beispiel rufen Sie den in der Zwischenablage gespeicherten Text ab:

var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.getContent();
if (dataPackageView.contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.text)) {
    dataPackageView.getTextAsync().then(function (text) {
        // To output the text from this example, you need an HTML element
        // with an id of "output".
        document.getElementById("output").innerText = "Clipboard now contains: " + text;
    });
}

Nachverfolgen von Änderungen an der Zwischenablage

Neben den Befehlen für das Kopieren und Einfügen ist möglicherweise auch das Hinzufügen eines Ereignishandlers sinnvoll, der Ihre App über Änderungen an der Zwischenablage informiert. Behandeln Sie dafür das ContentChanged-Ereignis der Zwischenablage.

Windows.ApplicationModel.DataTransfer.Clipboard.addEventListener("contentchanged", function (event) {
    var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.getContent();
    if (dataPackageView.contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.text)) {
        dataPackageView.getTextAsync().then(function (text) {
            // To output the text from this example, you need an HTML element
            // with an id of "output".
            document.getElementById("output").innerText = "Clipboard now contains: " + text;
        });
    }
});

Mithilfe dieses Handlers wird Ihre App über jede Änderung am Inhalt der Zwischenablage informiert.

Nächste Schritte

Sie verfügen nun über grundlegende Kenntnisse über das Hinzufügen der Unterstützung von Zwischenablageaktionen zu Ihrer App. Lesen Sie auch Richtlinien und Prüfliste für Befehle der Zwischenablage, um die Benutzerfreundlichkeit zu steigern. Sie können auch unser Beispiel herunterladen (in der Codegalerie), das verschiedene Beispiele für die Verwendung der Zwischenablage enthält.

Verwandte Themen

Schnellstart: Grundlagen zur Zwischenablage

Richtlinien und Prüfliste für Befehle für die Zwischenablage

DataPackage

Windows.ApplicationModel.DataTransfer

Beispiel zum Einfügen in die Zwischenablage