Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kopiowanie i wklejanie to podstawowy sposób wymiany danych między aplikacjami lub w aplikacji. W tym artykule pokazano, jak zaimplementować kopiowanie i wklejanie w aplikacjach WinUI i Uniwersalnej platformy Windows (UWP) przy użyciu API schowka. Dowiesz się, jak kopiować, wycinać i wklejać dane, śledzić zmiany schowka i używać klasy DataPackage do obsługi różnych formatów danych.
Uwaga / Notatka
Te interfejsy API można również używać w innych aplikacjach klasycznych za pośrednictwem interfejsów API środowiska Uruchomieniowego systemu Windows (WinRT). Aby uzyskać więcej informacji, zobacz Wywoływanie interfejsów API środowiska uruchomieniowego systemu Windows w aplikacjach klasycznych.
Aby zapoznać się z kompletnymi przykładami kodu, które przedstawiają różne scenariusze kopiowania i wklejania, zobacz przykład schowka platformy UWP w witrynie GitHub.
Sprawdź, czy jest obsługa wbudowanego schowka
W wielu przypadkach nie trzeba pisać kodu w celu obsługi operacji schowka. Wiele domyślnych kontrolek XAML, których można używać do tworzenia aplikacji, już obsługuje operacje schowka.
Rozpocznij konfigurację
Najpierw uwzględnij przestrzeń nazw Windows.ApplicationModel.DataTransfer w aplikacji. Następnie dodaj wystąpienie obiektu DataPackage . Ten obiekt zawiera zarówno dane, które użytkownik chce skopiować, jak i wszelkie właściwości (takie jak opis), które chcesz uwzględnić.
Kopiowanie i wycinanie
Kopiowanie i wycinanie (nazywane również przenoszeniem) działa prawie dokładnie tak samo. Wybierz żądaną operację przy użyciu właściwości RequestedOperation .
// copy
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;
Ustaw skopiowaną zawartość
Następnie możesz dodać dane wybrane przez użytkownika do obiektu DataPackage . Jeśli te dane są obsługiwane przez klasę DataPackage , możesz użyć jednej z odpowiednich metod obiektu DataPackage . Poniżej przedstawiono sposób dodawania tekstu przy użyciu metody SetText :
Ostatnim krokiem jest dodanie pakietu DataPackage do schowka przez wywołanie statycznej metody SetContent .
Wklej
Aby pobrać treść schowka, wywołaj statyczną metodę GetContent. Ta metoda zwraca element DataPackageView zawierający zawartość. Ten obiekt jest prawie identyczny z obiektem DataPackage , z tą różnicą, że jego zawartość jest tylko do odczytu. Za pomocą tego obiektu można użyć metody AvailableFormats lub Contains, aby zidentyfikować dostępne formaty. Następnie możesz wywołać odpowiednią metodę DataPackageView , aby pobrać dane.
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;
}
}
Śledź zmiany w schowku
Oprócz kopiowania i wklejania poleceń możesz również śledzić zmiany schowka. Zrób to, obsługując zdarzenie ContentChanged schowka.
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;
}
}
Treści powiązane
Windows developer