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