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.
<aprile 2024>
lunmarmergiovensabdom
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
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