Partager via


Presse-papiers

Browse sample. Parcourir l’exemple

Cet article explique comment utiliser l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI). IClipboard Avec cette interface, vous pouvez copier et coller du texte dans et depuis le Presse-papiers système.

L’implémentation par défaut de l’interface IClipboard est disponible via la Clipboard.Default propriété. L’interface et Clipboard la IClipboard classe sont contenues dans l’espace Microsoft.Maui.ApplicationModel.DataTransfer de noms.

Conseil

L’accès au Presse-papiers doit être effectué sur le thread d’interface utilisateur principal. Pour plus d’informations sur l’appel de méthodes sur le thread d’interface utilisateur principal, consultez MainThread.

Utilisation du Presse-papiers

L’accès au Presse-papiers est limité aux données de chaîne. Vous pouvez case activée si le Presse-papiers contient des données, définissez ou effacez les données et lisez les données. L’événement ClipboardContentChanged est déclenché chaque fois que les données du Presse-papiers changent.

L’exemple de code suivant illustre l’utilisation d’un bouton pour définir les données du Presse-papiers :

private async void SetClipboardButton_Clicked(object sender, EventArgs e) =>
    await Clipboard.Default.SetTextAsync("This text was highlighted in the UI.");

L’exemple de code suivant illustre l’utilisation d’un bouton pour lire les données du Presse-papiers. Le code case activée d’abord si le Presse-papiers contient des données, lit ces données, puis utilise une null valeur pour SetTextAsync effacer le Presse-papiers :

private async void ReadClipboardButton_Clicked(object sender, EventArgs e)
{
    if (Clipboard.Default.HasText)
    {
        ClipboardOutputLabel.Text = await Clipboard.Default.GetTextAsync();
        await ClearClipboard();
    }
    else
        ClipboardOutputLabel.Text = "Clipboard is empty";
}

private async Task ClearClipboard() =>
    await Clipboard.Default.SetTextAsync(null);

Effacer le Presse-papiers

Vous pouvez effacer le Presse-papiers en passant null à la SetTextAsync méthode, comme l’illustre l’exemple de code suivant :

private async Task ClearClipboard() =>
    await Clipboard.Default.SetTextAsync(null);

Détection des modifications du Presse-papiers

L’interface IClipboard fournit l’événement ClipboardContentChanged . Lorsque cet événement est déclenché, le contenu du Presse-papiers a changé. L’exemple de code suivant ajoute un gestionnaire à l’événement lorsque la page de contenu est chargée :

private void ContentPage_Loaded(object sender, EventArgs e)
{
    Clipboard.Default.ClipboardContentChanged += Clipboard_ClipboardContentChanged;
}

private async void Clipboard_ClipboardContentChanged(object sender, EventArgs e)
{
    ClipboardOutputLabel.Text = await Clipboard.Default.GetTextAsync();
}