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
Criptare la comunicazione con mTLS in Azure Container Apps
Utilizzare Model as a Service su Microsoft Azure
Configurare policy CORS in Azure Container Apps
Utilizzare politiche di resiliency con Azure Container App
Creare un'applicazione React e configurare Tailwind CSS
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Usare un KeyedService di default in ASP.NET Core 8
Reactive form tipizzati con modellazione del FormBuilder in Angular
Implementare l'infinite scroll con QuickGrid in Blazor Server
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Disabilitare automaticamente un workflow di GitHub (parte 2)
Sfruttare lo streaming di una chiamata Http da Blazor