Sono confuso con l'apprendimento di WPF. Vedo ControlTemplate usato per determinare come appare ogni elemento in una listbox. Non è quello per cui viene usato ItemTemplate nelle listbox? Qual è la differenza?ItemTemplate vs ControlTemplate
risposta
Un ControlTemplate ti permette di modificare l'aspetto & feel dei controlli esistenti, ad esempio, creare un pulsante di tutti i giorni sembrano bottoni di vetro lucido della barra delle applicazioni di Vista o fare una linguetta il controllo sembra il nuovo nastro Office 2007.
L'idea è che il controllo contiene solo il comportamento e la ControlTemplate contiene l'aspetto & feel - in modo da un pulsante è "qualcosa si fa clic su" non "un rettangolo con un certo effetto 3d è possibile fare clic su".
È possibile sostituire il modello di controllo ListBox per ottenere qualcosa come una casella di riepilogo con angoli arrotondati o barre di scorrimento personalizzate.
Un DataTemplate, d'altra parte, consente di controllare il modo in cui le righe di dati visualizzate all'interno di caselle di riepilogo (e altri controlli simili), i modelli di dati vengono utilizzati per specificare elementi come "Mostra cognome, oltre a una virgola e il primo nome - e il cognome dovrebbe essere in grassetto e il nome dovrebbe essere verde se inizia con un A ".
E proprio per completezza c'è anche una classe ItemsPanelTemplate che viene utilizzata per modificare il layout interno di una casella di riepilogo: il libro WPF di Charles Petzold ha un esempio di utilizzo per fare in modo che una normale casella di riepilogo visualizzi gli elementi in una cerchia.
Un ItemTemplate descrive come eseguire il rendering dell'elemento di dati in una casella di riepilogo (ad esempio, è possibile che la casella di riepilogo sia vincolata a un elenco: ItemTemplate consente di specificare come eseguire il rendering di Foo). Un ItemTemplate è un DataTemplate.
Un ControlTemplate descrive come il ListBox stesso dovrebbe essere reso
grazie per l'indicazione ItemTemplate è un DataTemplate – Felix
- 1. ItemTemplate: ListBox vs ItemsControl
- 2. WPF ControlTemplate vs UserControl
- 3. Specificare ControlTemplate per ItemsControl.ItemContainerStyle
- 4. Default ControlTemplate per Expander
- 5. ComboBox WPF predefinito ControlTemplate
- 6. WPF ControlTemplate rompe stile
- 7. Differenza tra stile e ControlTemplate
- 8. WPF - Eventi su un ControlTemplate?
- 9. C# wpf - impossibile impostare DisplayMemberPath e ItemTemplate
- 10. Uso di Container.DataItem in un ItemTemplate
- 11. Perché ItemsControl non utilizza My ItemTemplate?
- 12. Aggiunta del parametro Querystring a GridView ItemTemplate
- 13. WPF: associa il comando a ControlTemplate
- 14. i dati di progettazione per ControlTemplate
- 15. WPF ListBoxItem ControlTemplate interrompe MouseDown/Selezione
- 16. Dizionario risorse personalizzate in ControlTemplate o DataTemplate
- 17. Listbox Il selettore ItemTemplate non seleziona un modello
- 18. ASP: DropDownList in ItemTemplate: Perché l'attributo SelectedValue è consentito?
- 19. Come posso ottenere StackPanel per utilizzare un ItemTemplate?
- 20. WPF: Aggiunta di un'immagine a un ListBox ItemTemplate
- 21. Ottenere l'oggetto limitato corrente in ItemTemplate di ListView
- 22. Qual è la differenza tra ItemTemplate e ItemPanelTemplate?
- 23. Applicare più datatemplates alla listbox Itemtemplate in base ai dati
- 24. WPF ComboBox ItemTemplate binding a una raccolta di stringhe
- 25. Style.Triggers vs ControlTemplate.Triggers
- 26. Accesso a un controllo all'interno di un ControlTemplate
- 27. Come accedere a un controllo WPF situato in un ControlTemplate?
- 28. WPF - Utilizzare una risorsa ControlTemplate all'interno di uno stile
- 29. Creazione di un oggetto ControlTemplate per un DataGridRow in WPF
- 30. Come posso utilizzare un collegamento ElementName all'interno di ControlTemplate?
Correlato: [Differenza tra stile e ControlTemplate] (http://stackoverflow.com/questions/6136200/difference-between-style-and-controltemplate) – Helen