Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kopieren und Einfügen ist eine grundlegende Möglichkeit, um Benutzer Daten zwischen Apps oder innerhalb einer App auszutauschen. In diesem Artikel erfahren Sie, wie Sie Mithilfe der Zwischenablage-APIs Kopieren und Einfügen in WinUI- und UWP-Apps (Universelle Windows-Plattform) implementieren. Sie erfahren, wie Sie Daten kopieren, ausschneiden und einfügen, Zwischenablageänderungen nachverfolgen und die DataPackage-Klasse verwenden, um verschiedene Datenformate zu verarbeiten.
Hinweis
Sie können diese APIs auch in anderen Desktop-Apps über Windows-Runtime-APIs (WinRT) verwenden. Weitere Informationen finden Sie unter Aufrufen von Windows-Runtime-APIs in Desktop-Apps.
Vollständige Codebeispiele, die verschiedene Kopier- und Einfügeszenarien veranschaulichen, finden Sie im Beispiel für die UWP-Zwischenablage auf GitHub.
Überprüfen Sie die integrierte Zwischenablagenunterstützung
In vielen Fällen müssen Sie keinen Code schreiben, um Zwischenablagevorgänge zu unterstützen. Viele der standardmäßigen XAML-Steuerelemente, die Sie zum Erstellen von Apps verwenden können, unterstützen bereits Zwischenablagevorgänge.
Loslegen
Schließen Sie zunächst den Windows.ApplicationModel.DataTransfer-Namespace in Ihre App ein. Fügen Sie dann eine Instanz des DataPackage-Objekts hinzu. Dieses Objekt enthält sowohl die Daten, die der Benutzer kopieren möchte, als auch alle Eigenschaften (z. B. eine Beschreibung), die Sie einbeziehen möchten.
Kopieren und Ausschneiden
Kopieren und Ausschneiden (auch als "Verschieben" bezeichnet) funktionieren fast genauso. Wählen Sie mit der RequestedOperation-Eigenschaft den gewünschten Vorgang aus.
// copy
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;
Festlegen des kopierten Inhalts
Als Nächstes können Sie die Daten hinzufügen, die ein Benutzer dem DataPackage-Objekt ausgewählt hat. Wenn diese Daten von der DataPackage-Klasse unterstützt werden, können Sie eine der entsprechenden Methoden des DataPackage-Objekts verwenden. So fügen Sie Mithilfe der SetText-Methode Text hinzu:
Der letzte Schritt besteht darin, das DataPackage der Zwischenablage hinzuzufügen, indem die statische SetContent-Methode aufgerufen wird.
Einfügen
Rufen Sie zum Abrufen des Inhalts der Zwischenablage die statische GetContent-Methode auf. Diese Methode gibt ein DataPackageView-Objekt zurück, das den Inhalt enthält. Dieses Objekt ist fast identisch mit einem DataPackage-Objekt, außer dass der Inhalt nur-lesbar ist. Mit diesem Objekt können Sie entweder die AvailableFormats oder die Contains-Methode verwenden, um zu ermitteln, welche Formate verfügbar sind. Anschließend können Sie die entsprechende DataPackageView-Methode aufrufen, um die Daten abzurufen.
async void OutputClipboardText()
{
DataPackageView dataPackageView = Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Text))
{
string text = await dataPackageView.GetTextAsync();
// To output the text from this example, you need a TextBlock control
TextOutput.Text = "Clipboard now contains: " + text;
}
}
Nachverfolgen von Änderungen an der Zwischenablage
Zusätzlich zu den Befehlen zum Kopieren und Einfügen möchten Sie möglicherweise auch Änderungen der Zwischenablage nachverfolgen. Behandeln Sie dazu das ContentChanged-Ereignis der Zwischenablage.
Clipboard.ContentChanged += async (s, e) =>
{
DataPackageView dataPackageView = Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Text))
{
string text = await dataPackageView.GetTextAsync();
// To output the text from this example, you need a TextBlock control
TextOutput.Text = "Clipboard now contains: " + text;
}
}
Verwandte Inhalte
Windows developer