Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Kopiëren en plakken is een fundamentele manier voor gebruikers om gegevens uit te wisselen tussen apps of binnen een app. In dit artikel leest u hoe u kopiëren en plakken implementeert in WinUI- en UWP-apps (Universal Windows Platform) met behulp van de Klembord-API's. U leert hoe u gegevens kopieert, knipt en plakt, klembordwijzigingen bijhoudt en de DataPackage-klasse gebruikt om verschillende gegevensindelingen te verwerken.
Opmerking
U kunt deze API's ook gebruiken in andere bureaublad-apps via WinRT-API's (Windows Runtime). Zie Windows Runtime-API's aanroepen in desktop-apps voor meer informatie.
Zie het VOORBEELD van het UWP-klembord op GitHub voor volledige codevoorbeelden die verschillende scenario's voor kopiëren en plakken demonstreren.
Controleer op ingebouwde klembordondersteuning
In veel gevallen hoeft u geen code te schrijven om klembordbewerkingen te ondersteunen. Veel van de standaardbesturingselementen voor XAML die u kunt gebruiken om apps te maken, bieden al ondersteuning voor klembordbewerkingen.
Klaarzetten
Neem eerst de naamruimte Windows.ApplicationModel.DataTransfer op in uw app. Voeg vervolgens een exemplaar van het DataPackage-object toe. Dit object bevat zowel de gegevens die de gebruiker wil kopiëren als alle eigenschappen (zoals een beschrijving) die u wilt opnemen.
Kopiëren en knippen
Kopiëren en knippen (ook wel verplaatsen genoemd) werken bijna precies hetzelfde. Kies welke bewerking u wilt gebruiken met behulp van de eigenschap RequestedOperation .
// copy
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;
De gekopieerde inhoud instellen
Vervolgens kunt u de gegevens die een gebruiker heeft geselecteerd toevoegen aan het DataPackage-object . Als deze gegevens worden ondersteund door de klasse DataPackage , kunt u een van de bijbehorende methoden van het DataPackage-object gebruiken. U kunt als volgt tekst toevoegen met behulp van de methode SetText :
De laatste stap bestaat uit het toevoegen van de DataPackage aan het klembord door de methode static SetContent aan te roepen.
Plakken
Als u de inhoud van het Klembord wilt ophalen, roept u de statische GetContent-methode aan. Met deze methode wordt een DataPackageView geretourneerd die de inhoud bevat. Dit object is bijna identiek aan een DataPackage-object , behalve dat de inhoud ervan het kenmerk Alleen-lezen heeft. Met dat object kunt u de methode AvailableFormats of Contains gebruiken om te bepalen welke indelingen beschikbaar zijn. Vervolgens kunt u de bijbehorende DataPackageView-methode aanroepen om de gegevens op te halen.
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;
}
}
Wijzigingen in het Klembord bijhouden
Naast kopieer- en plakopdrachten kunt u ook de wijzigingen in het klembord bijhouden. Doe dit door het ContentChanged-evenement van het klembord te verwerken.
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;
}
}
Verwante inhoud
Windows developer