Presse-papiers
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();
}