Condividi tramite


Appunti

Browse sample. Esplorare l'esempio

Questo articolo descrive come usare l'interfaccia dell'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI). IClipboard Con questa interfaccia, è possibile copiare e incollare il testo negli Appunti di sistema.

L'implementazione predefinita dell'interfaccia IClipboard è disponibile tramite la Clipboard.Default proprietà . Sia l'interfaccia che Clipboard la IClipboard classe sono contenute nello spazio dei Microsoft.Maui.ApplicationModel.DataTransfer nomi .

Suggerimento

L'accesso agli Appunti deve essere eseguito nel thread principale dell'interfaccia utente. Per altre informazioni su come richiamare i metodi nel thread principale dell'interfaccia utente, vedere MainThread.

Uso di Clipboard

L'accesso agli Appunti è limitato ai dati stringa. È possibile verificare se gli Appunti contengono dati, impostare o cancellare i dati e leggere i dati. L'evento ClipboardContentChanged viene generato ogni volta che i dati degli Appunti cambiano.

L'esempio di codice seguente illustra l'uso di un pulsante per impostare i dati degli Appunti:

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

Nell'esempio di codice seguente viene illustrato l'uso di un pulsante per leggere i dati degli Appunti. Il codice controlla innanzitutto se gli Appunti contengono dati, leggono tali dati e quindi usano un null valore con SetTextAsync per cancellare gli Appunti:

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

Cancellare gli Appunti

È possibile cancellare gli Appunti passando null al SetTextAsync metodo , come illustrato nell'esempio di codice seguente:

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

Rilevamento delle modifiche degli Appunti

L'interfaccia IClipboard fornisce l'evento ClipboardContentChanged . Quando viene generato questo evento, il contenuto degli Appunti è stato modificato. Nell'esempio di codice seguente viene aggiunto un gestore all'evento quando viene caricata la pagina del contenuto:

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