Kolumne: XAML-Expertise

XAML-Tipp: UWP – Kopieren und Einfügen mit dem Clipboard-API
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „UWP: Kopieren und Einfügen mit dem Clipboard-API“

Das Clipboard-API ermöglicht per Code das Kopieren und Einfügen von Daten in die Zwischenablage. Dies ist die klassische Methode zum Austausch von Daten zwischen Apps oder in einer App, und nahezu jede App kann Zwischenablageaktionen bis zu einem gewissen Grad unterstützen.

UWP: Kopieren und Einfügen mit dem Clipboard-API

Für das Kopieren der gewünschten Daten steht das DataPackage-Objekt zur Verfügung. Es wird instanziiert und erhält eine Vorgangsregel, wie zum Beispiel DataPackageOperation.Copy oder DataPackageOperation.Move. Anschließend wird der gewünschte Datenwert übergeben. Die Clipboard.SetContent()-Methode erhält dann das fertige DataPackage-Objekt. Der gewünschte Text ist jetzt in der Zwischenablage. Listing 1zeigt den passenden Code dazu.

DataPackage dataPackage = new DataPackage();
dataPackage.RequestedOperation = DataPackageOperation.Copy;
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);

Das Einfügen der Daten benötigt genauso viel Code. Die Clipboard.GetContent()-Methode liefert ein DataPackageView-Objekt. Es überprüft, ob der gewünschte Datentyp in der Zwischenablage vorhanden ist. Dann erfolgt die direkte asynchrone Abfrage. Listing 2 zeigt, wie ein Text abgefragt wird.

async void OutputClipboardText()
{
  DataPackageView dataPackageView = Clipboard.GetContent();
  if (dataPackageView.Contains(StandardDataFormats.Text))
  {
    string text = await dataPackageView.GetTextAsync();
    TextOutput.Text = "Clipboard now contains: " + text;
  }
}
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -