Archivio Autore: acquariusoft - Pagina 6

Elementi annidati in collezioni di dati, come ottenere l’oggetto in binding

Piccola premessa, prima di leggere questo articolo bisogna sapere cosa è il binding, per un breve ripasso vi consiglio il blog del mio amico Luca

Adesso che sapete di cosa stiamo parlando potete proseguire con la lettura 😀

Molti di voi avranno già utilizzato il DataContext per ottenere l’oggetto della lista selezionato in seguito agli eventi SelectionChanged o ItemClick in elementi di tipo ListView o GridView con un metodo molto simile al seguente

private void listViewComments_ItemClick(object sender, ItemClickEventArgs e)
{
   MioOggetto o=(MioOggetto)e.ClickedItem;
}

Quello che forse non tutti sanno è che la proprietà DataContext può tornarci utile anche nel momento in cui ci troviamo di fronte ad eventi generati da oggetti annidati all’interno di liste.

Prendiamo il semplice caso di una lista con una serie di link all’interno che permettono all’utente di eseguire un’azione:

<ListView Grid.Row="1" x:Name="listViewComments" ItemsSource="{Binding}">              
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
            <HyperlinkButton Tag="{Binding ID}" Margin="0,0,10,0" x:Name="spamLink" Click="commentSpam_Click" Style="{StaticResource PivotTitleContentControlStyle}">
                <TextBlock>
                  <Underline>
                    <Run Text="{Binding status}"/>
                  </Underline>
                </TextBlock>
            </HyperlinkButton>
            <HyperlinkButton x:Name="ApproveLink" Click="commentApprove_Click" Style="{StaticResource PivotTitleContentControlStyle}">
                <TextBlock>
                  <Underline>
                    <Run Text="{Binding status2}"/>
                  </Underline>
                </TextBlock>
            </HyperlinkButton>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Nel click potremo molto semplicemente ottenere il nostro elemento bindato castando il sender dell’evento alla sua classe originale e poi accedendo alla proprietà DataContext

 private async void commentSpam_Click(object sender, RoutedEventArgs e){
   
    MioOggetto c = (MioOggetto)((HyperlinkButton)sender).DataContext;
    
}

In questo modo non ci sarò necessità ti portarsi dietro eventuali id bindati con la proprieta Tag per poter risalire all’elemento selezionato.

Se questo tips vi è stato utile lasciate pure un commento 😀

Integrare il login tramite Google nelle Universal Windows app

Con molto orgoglio che vi segnalo il mio primo guest post sul blog msdn 😀
http://blogs.msdn.com/b/italy/archive/2015/04/09/guest-post-integrare-il-login-tramite-google-nelle-universal-windows-app.aspx

Slide sessione Universal App .Net Day 2015

Sono disponibili le slide della mia sessione sulle Universal App al .Net Day 2015

 

Download

Nasce DotNetAbruzzo!!!

E’ cpn grande orgoglio che oggi posso annunciare ufficialmente la nascita di DotNetAbruzzo di cui troverete tra poco il sito a questo indirizzo (appena avrò il tempo di fare anche questo :D)http://www.dotnetabruzzo.org/

DotNetAbruzzo è una cosa che ho fortemente voluto e di cui al momento sono solo ad accuparmi ma cercherò di portarla avanti con tutte le mie forze.

Mi è sempre piaciuto l’ambiente community e sono stato sempre contento di farne parte e per questo ho sempre seguito gli eventi soprattutto a roma dove ho conosciuto vari MVP tra cui Bonanni, Dal Pino, Minerva, Pagani ecc che mi hanno fatto capire cosa voglia dire community.

Purtroppo l’Abruzzo è sempre stato un pò indietro su tutte le cose tecnologiche e quindi alla fine ho deciso di provarci, e dopo essermi guardato un pò in giro e aver rotto le scatole a Lorenzo Barbieri ed Erica Barone per avere dei consigli su come fare (e li ringrazio per avermi incoraggiato e non aver affossato la mia idea 😀 ) ho rotto gli indugi.

Tra 5 giorni avremo il nostro primo evento community ed io terrò la mia prima sessione, finalmente si và dall’altra parte della barricata 😀 E’ stato duro organizzare tutto da solo ma grazie alle persone che ho nominato prima e che mi hanno dato una mano e che terranno anche delle interessantissime persone si è riuscito a farlo 😀

https://www.eventbrite.it/e/biglietti-net-day-15133868809#

Speriamo sia il primo di tanti altri e la community cresca sempre di più 😀

 

Benvenuti

Benvenuti nel mio nuovo sito!!

Anno nuovo e nuovo blog, a breve  ci saranno post, articoli e tutto ciò che verrò condividere in puro stile community 😀

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi