ATTENZIONE: Questo sito impiega diversi tipi di cookies. Alla pagina MAGGIORI INFORMAZIONI è possibile avere informazioni aggiuntive. Cliccando su ACCETTO o continuando a navigare sul sito acconsenti al loro utilizzo.
<febbraio 2023>
lunmarmergiovensabdom
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112
Immagini  

Accedere ai controlli all'interno di un DataTemplate

Per accedere ai controlli posti all'interno di un DataTemplate di un qualsiasi componente XAML che supporta il DataTemplate, occorre caricare in un oggetto di classe simile il contenuto del DataTemplate in fase di load del componente XAML, e poi referenziare questo oggetto per recuperare il suo contenuto.

Facciamo un esempio:
  • Ho un componente Hub, e all'interno delle sue HubSection ho diversi DataTemplate che a loro volta contengono alcuni UserControl
        <Hub x:Name="myHub" Header="Hub Control" >
            <HubSection Header="First Section" >
                <DataTemplate>
                    <local:UCTest x:Name="myUserControl" Loaded="myUserControl_Loaded" />
                </DataTemplate>
            </HubSection>
  • Nell'evento Loaded del mio UserControl (o di qualsiasi altro oggetto avessi messo nel DataTemplate) vado ad appoggiare in un oggetto della stessa classe del mio UserControl, il "sender" dell'eveto Loaded opportunamente castato
        UCTest myUcAppoggio;
        ...
        private void myUcAccaddeOggi_Loaded(object sender, RoutedEventArgs e)
        {
           
myUcAppoggio= (UCTest)sender;
        }

  • A questo punto posso referenziare il mio oggetto locale UCTest per fare le attività che mi servono lato codice


Notifiche