Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kopiera och klistra in är ett grundläggande sätt för användare att utbyta data mellan appar eller i en app. Den här artikeln visar hur du implementerar kopiera och klistra in WinUI-appar med hjälp av Urklipps-API:er. Du får lära dig hur du kopierar, klipp ut och klistrar in data, spårar ändringar i Urklipp och använder klassen DataPackage för att hantera olika dataformat.
Anmärkning
Du kan också använda dessa API:er i andra skrivbordsappar via api:er för Windows Runtime (WinRT). Mer information finns i Använd Windows Runtime-API:er i skrivbordsappar.
Kontrollera inbyggt stöd för urklipp
I många fall behöver du inte skriva kod för att stödja urklippsåtgärder. Många av de XAML-standardkontroller som du kan använda för att skapa appar stöder redan Urklippsåtgärder.
Kom igång
Inkludera först Windows.ApplicationModel.DataTransfer namnrymd i din app. Lägg sedan till en instans av objektet DataPackage. Det här objektet innehåller både de data som användaren vill kopiera och eventuella egenskaper (till exempel en beskrivning) som du vill inkludera.
Kopiera och klipp ut
Kopiera och klipp ut (kallas även flytta) fungerar nästan exakt likadant. Välj vilken åtgärd du vill använda med egenskapen RequestedOperation .
// copy
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;
Ange det kopierade innehållet
Sedan kan du lägga till de data som en användare har valt i objektet DataPackage. Om dessa data stöds av klassen DataPackage kan du använda någon av motsvarande metoder för DataPackage-objektet . Så här lägger du till text med metoden SetText :
Det sista steget är att lägga till metoden DataPackage i Urklipp genom att anropa metoden static SetContent.
Klistra
Om du vill hämta innehållet i Urklipp anropar du metoden static GetContent . Den här metoden returnerar en DataPackageView som innehåller innehållet. Det här objektet är nästan identiskt med ett DataPackage objekt, förutom att innehållet är skrivskyddat. Med det objektet kan du använda metoden AvailableFormats eller Contains för att identifiera vilka format som är tillgängliga. Sedan kan du anropa motsvarande metod DataPackageView för att hämta data.
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;
}
}
Spåra ändringar i Urklipp
Förutom att kopiera och klistra in kommandon kanske du också vill spåra ändringar i Urklipp. Gör detta genom att hantera ContentChanged-händelsen i urklipp.
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;
}
}
Relaterat innehåll
Windows developer