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
Migliorare la sicurezza dei prompt con Azure AI Studio
Eliminare una project wiki di Azure DevOps
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Referenziare un @layer più alto in CSS
Creare una custom property in GitHub
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Aggiornare a .NET 9 su Azure App Service
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Implementare l'infinite scroll con QuickGrid in Blazor Server