Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1907, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

WinRT: suggerire un'app per URI e file avviati da codice

Nel post precedente abbiamo visto come avviare, da codice, URI o file nelle applicazioni per Windows 8. Abbiamo visto come utilizzare i metodi LaunchUriAsync e LaunchFileAsync della classe Windows.System.Launcher.

Entrambi i metodi, in realtà, accettano un overload di tipo LauncherOptions che permettono di specificare, tra l'altro, la possibilità di mostrare il selettore di app per il tipo di contenuto che si sta aprendo.

Riprendiamo il codice del metodo che apre un'email e supponiamo di voler consentire all'utente con quale app voglia scrivere il nuovo messaggio. Lo possiamo riscrivere in questo modo:

    Private Async Function SendEmailAsync() As Task
        Dim options As New Windows.System.LauncherOptions
        With options
            .DisplayApplicationPicker = True
            .UI.InvocationPoint = New Point(100, 400)
            .UI.PreferredPlacement = Windows.UI.Popups.Placement.Above
        End With
 
        Dim mailMessageUri As New Uri("mailto:alessandro.delsole@visual-basic.it")
        'Apre il client di posta
        Dim result As Boolean = Await Windows.System.Launcher.LaunchUriAsync(mailMessageUri, options)
 
        If result = True Then
            'operazione andata a buon fine
        Else
            'operazione fallita
        End If
    End Function

L'istanza della classe LauncherOptions permette di impostare alcune proprietà:

  • DisplayApplicationPicker, che mostra il selettore delle app.
  • UI.InvocationPoint, che permette di stabilire in quale area dello schermo debba essere visualizzato il selettore.
  • UI.PreferredPlacement, che permette di stabilire, in modo relativo a InvocationPoint, se il selettore debba essere in alto, in basso, a destra o sinistra.

Di proprietà ce ne sono altre, come ad esempio FallbackUri che permette di specificare un URI alternativo se non c'è alcuna app disponibile per aprire l'URI specificato, oppure PreferredApplicationDisplayName che consiste in una stringa che consente di suggerire all'utente la migliore app da usare.

Il codice di cui sopra produce il seguente risultato, lasciando all'utente libertà di scelta:

Alessandro

Print | posted on martedì 7 maggio 2013 20:06 | Filed Under [ UWP e Windows Store Apps ]

Powered by:
Powered By Subtext Powered By ASP.NET