Windows 8 permette di condividere facilmente del contenuto, proveniente dalle nostre applicazioni, con altre installate nel sistema operativo. La tipica condivisione è quella che avviene mediante Facebook, Twitter o il client di posta elettronica.
L'applicazione che vuole condividere il contenuto, la sorgente, deve fare pochi semplici passaggi, tutti gestiti da un'unica classe, di nome DataTransferManager.
Nel nostro script la utilizzeremo per condividere un link.
La prima cosa da fare è recuperare un'istanza del tipo DataTransferManager. A questo scopo andiamo ad aggiungere nel metodo OnNavigatedTo della pagina le seguenti righe di codice:
var _dataTransfer = DataTransferManager.GetForCurrentView(); _dataTransfer.DataRequested += DataTransferRequested;
Il metodo GetForCurrentView ci permette di recuperare un istanza dell'oggetto DataTransferManager da utilizzare con la view corrente. L'evento DataRequested ci permette di intercettate la pressione del pulsante Share sulla charm.
void DataTransferRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataPackage requestData = args.Request.Data; requestData.Properties.Title = "winrtitalia.com"; requestData.Properties.Description = "il sito di riferimento per WinRT"; requestData.SetUri(new Uri("https://www.winrtitalia.com/", UriKind.Absolute)); }
L'event handler riceve due parametri: il primo è del tipo DataTransferManagere il secondo del tipo DataRequestedEventArgs. È quest'ultimo che veicola le informazioni dalla nostra applicazione a quelle utilizzata per la condividere del link.
Per prima cosa, dobbiamo recuperare il DataPackage, per andare successivamente ad impostare il titolo e la descrizione dell'URL, utilizzando il metodo SetUri.
Il codice è così completo e ci consente di condividere, facilmente e con poche righe, il nostro contenuto con le altre applicazioni.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare una libreria CSS universale: Clip-path
Selettore CSS :has() e i suoi casi d'uso avanzati
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Creare una custom property in GitHub
Introduzione alle Container Queries
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Creare una libreria CSS universale - Rotazione degli elementi
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Migliorare la sicurezza dei prompt con Azure AI Studio
Sfruttare al massimo i topic space di Event Grid MQTT
Cancellare una run di un workflow di GitHub
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL