Megosztás a következőn keresztül:


Másolás és beillesztés

A másolás és beillesztés alapvető módja annak, hogy a felhasználók adatokat cseréljenek az alkalmazások vagy az alkalmazások között. Ez a cikk bemutatja, hogyan implementálhatja a másolást és beillesztést WinUI-alkalmazásokban a vágólap API-ival. Megtudhatja, hogyan másolhat, vághat ki és illeszthet be adatokat, követheti nyomon a vágólap módosításait, és hogyan használhatja a DataPackage osztályt a különböző adatformátumok kezeléséhez.

Megjegyzés:

Ezeket az API-kat más asztali alkalmazásokban is használhatja Windows Runtime (WinRT) API-kon keresztül. További információkért lásd: Windows Runtime API-k használata asztali alkalmazásokban.

Beépített vágólap támogatásának ellenőrzése

Sok esetben nem kell kódot írnia a vágólap műveleteinek támogatásához. Az alkalmazások létrehozásához használható alapértelmezett XAML-vezérlők közül sok már támogatja a vágólap-műveleteket.

Állítsd be

Először is adja hozzá a Windows.ApplicationModel.DataTransfer névteret az alkalmazásához. Ezután adja hozzá a DataPackage objektum egy példányát. Ez az objektum tartalmazza a felhasználó által másolni kívánt adatokat és a felvenni kívánt tulajdonságokat (például leírást).

using Windows.ApplicationModel.DataTransfer;
...
var dataPackage = new DataPackage();

Másolás és kivágás

A másolás és a kivágás (más néven áthelyezés) szinte pontosan ugyanúgy működik. Válassza ki a kívánt műveletet a RequestedOperation tulajdonság használatával.

// copy 
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;

A másolt tartalom beállítása

Ezután hozzáadhatja a felhasználó által kiválasztott adatokat a DataPackage objektumhoz. Ha ezeket az adatokat a DataPackage osztály támogatja, a DataPackage objektum egyik megfelelő metódusát használhatja. A Következő módon adhat hozzá szöveget a SetText metódussal:

dataPackage.SetText("Hello World!");

Az utolsó lépés a DataPackage hozzáadása a vágólaphoz a statikus SetContent metódus meghívásával.

Clipboard.SetContent(dataPackage);

Beillesztés

A vágólap tartalmának lekéréséhez hívja meg a statikus GetContent metódust . Ez a metódus egy DataPackageView ad vissza, amely tartalmazza a tartalmat. Ez az objektum hasonló a DataPackage objektumhoz, azzal a kivétellel, hogy a tartalma csak olvasható. Ezzel az objektummal az AvailableFormats vagy a Contains metódus használatával azonosíthatja, hogy milyen formátumok érhetők el. Ezután meghívhatja a megfelelő DataPackageView metódust az adatok lekéréséhez.

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;
    }
}

A vágólap módosításainak nyomon követése

A parancsok másolása és beillesztése mellett érdemes lehet nyomon követni a vágólap módosításait is. Ehhez kezelje a vágólap ContentChanged eseményét .

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;
    }
}