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
Utilizzare Tailwind CSS all'interno di React: primi componenti
Usare le collection expression per inizializzare una lista di oggetti in C#
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Gestione dei nomi con le regole @layer in CSS
.NET Conference Italia 2024
Miglioramenti nell'accessibilità con Angular CDK
Disabilitare automaticamente un workflow di GitHub (parte 2)
Installare le Web App site extension tramite una pipeline di Azure DevOps
Ordine e importanza per @layer in CSS
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Ottimizzazione dei block template in Angular 17