Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, 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

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

Windows Phone: creare e mostrare un popup

Nelle app per Windows Phone può capitare la necessità di richiedere l'input o l'interazione dell'utente attraverso un popup che si innesti nella pagina, invece che navigare ad un'altra pagina e poi restituire il risultato dell'input in modo più complesso.

Per creare un popup, la prima cosa da fare è definire uno User Control:

E' sufficiente poi definire lo XAML che contiene i controlli da mostrare, tipicamente testo, pulsanti, TextBox o quello che comunque vi serve. Questo è un mero esempio:

    <StackPanel x:Name="LayoutRoot"  Width="480" Height="300" 
                Background="Black">
        <TextBlock Text="questo è un popup" Margin="20,0,0,0" 
                   FontSize="48" />
        <Button x:Name="btnOK" Content="OK"
                    Width="150" Height="150"/>
    </StackPanel>

E' chiaramente fondamentale assegnare nomi ai controlli, poiché l'interazione con questi non avverrà dal codice dello user control, bensì da quello della pagina che lo invoca. Supponendo che tale popup venga richiamato dalla pagina principale dell'app, questo è un esempio di come mostrarlo:

        Dim popup As New Popup()
        popup.Height = 250
        popup.Width = 400
        popup.VerticalOffset = 200
        Dim control As New WindowsPhoneControl1
        popup.Child = control
        popup.IsOpen = True
 
        AddHandler control.btnOK.Click, Sub(sender1, e1)
                                            'Il pulsante OK del poè stato toccato,
                                            'rispondi all'input come meglio credi  
                                            popup.IsOpen = False
                                        End Sub

Si noti che la proprietà VerticalOffset del popup stabilisce la distanza dal margine superiore. Il risultato si traduce in un popup sovrimpresso, finchè lo stesso non verrà chiuso:

Con questa tecnica possiamo evitare di ricorrere alla navigazione tra pagine e richiedere l'input dell'utente in modo conveniente.

Alessandro

Print | posted on lunedì 21 gennaio 2013 18:13 | Filed Under [ Silverlight e Windows Phone ]

Powered by:
Powered By Subtext Powered By ASP.NET