PDA

View Full Version : WPF - DataTemplate, ItemTemplate, ItemContainerStyle, Trigger, Events


DioBrando
22-07-2013, 16:28
Buoddì :)

Provenendo da Windows Form, con una conoscenza assolutamente superficiale di XAML, faccio un po' fatica ad inquadrare i concetti in oggetto, per quanto riguarda il disegno/manipolazione di interfacce WPF.

1) qual'è la sostanziale differenza tra DataTemplate, ItemTemplate ed ItemContainerStyle?

Per quanto riguarda la visualizzazione di strutture ad albero (completi o meno) si utilizza la tag HierarchicalDataTemplate in modo da bindare l'oggetto del ViewModel (o passato tramite DataContext) e lasciare che siano le sue proprietà a determinare quanti rami, dalla radice alle foglie, vadano a riempire l'alberatura di cui sopra.

E ok...

Ma se voglio far sì che il click di uno di questi elementi lanci un evento cui seguono determinate azioni...?

<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="TreeViewItem.Selected" Handler="treeViewItemSelected" />
</Style>


Ok ma all'interno di quale definizione di dati/template del TreeView?

Inoltre...qual'è la differenza tra un trigger (eventtrigger in particolare) ed un evento?
Di fatto manipolo in entrambi i casi un'azione generata dall'utente e/o posso variare una o più proprietà in base alla verifica di quell'evento, piuttosto che legarlo ad n metodi che compiono altre azioni ecc. ecc.


Non so se sono stato chiaro...