Aggiungo dinamicamente Tabitems a Controllo Tab in runtime (in C#) e funziona in modo corretto, ma come posso aggiungere dinamicamente i controlli ai nuovi Tabitems? I Tabitems devono essere dinamici perché dipendono da quante righe di dati vengono letti da un database. Il layout di ciascun Tabitem sarà identico. GrazieWPF - Aggiunta di controlli dinamici per aggiungere Tabitem dinamicamente?
8
A
risposta
2
Il TabItem è un controllo dei contenuti, quindi basta impostare la proprietà Content per essere qualsiasi tipo di elemento che si desidera visualizzare (ad esempio, una griglia contenente altri elementi, ecc)
4
Usare il Content proprietà della nuova TabItem, ci si può impostare qualsiasi cosa, come stringhe o altri controlli WPF:
private void AddChildControl(TabItem tabItem)
{
StackPanel newChild = new StackPanel();
tabItem.Content = newChild;
}
10
Se ognuno TabItem
sta per avere lo stesso layout vorrei semplicemente creare un UserControl
che comprende ciò che è necessario da un layout e di controllo posizione e poi posto quello all'interno della proprietà TabItem.Content
.
È quindi possibile passare i dati tramite la rappresentazione oggetto alla proprietà TabItem.DataContext
di avviare e fare uso di vincolante.
TabItem item = new TabItem();
item.Content = new CustomUserControl();
item.DataContext = data; //where data is the data that
//comes from the database
//being represented in object form
Problemi correlati
- 1. Aggiunta griglia e controlli dinamici in WPF
- 2. TabItem Binding WPF
- 3. Intestazioni TabItem intestazioni WPF
- 4. WPF TabItem Header Images
- 5. Come aggiungere dinamicamente i controlli al modulo ASP.NET?
- 6. Aggiungere i controlli dinamicamente in FlowLayoutPanel
- 7. TabItems Aggiunta dinamicamente
- 8. Stili WPF per TabControl/TabPanel/TabItem
- 9. Aggiunta di un controllo a un elenco di controlli dinamicamente
- 10. Inserire i controlli dinamici nel mezzo della collezione di controlli
- 11. Aggiunta dinamica di controlli JavaFX2
- 12. ASP.NET: aggiunta controlli lato client
- 13. Aggiunta <br/> dinamicamente tra i controlli asp.net
- 14. Controlli dinamici creati all'interno di UpdatePanel?
- 15. Controlli WPF ridimensionabili dall'utente?
- 16. Pannello ExtJs - aggiunta di componenti dinamici
- 17. WPF Tooltip con controlli
- 18. ZooKeeper - aggiunta di peer dinamicamente?
- 19. Controlli compositi WPF
- 20. Aggiunta dinamicamente dell'asse Y
- 21. Aggiunta di controlli alla pagina su PreRender
- 22. ASP .NET: controlli di carico dinamici vs Visible = true
- 23. Controlli grafico WPF
- 24. jQuery - Come aggiungere dinamicamente una regola di convalida
- 25. WPF utilizzando ResizeGrip per ridimensionare i controlli
- 26. Aggiunta di immagini dinamicamente a photoswipe
- 27. Aggiunta di componenti dinamici a discesa in JSF
- 28. Aggiunta di marcatori personalizzati dinamicamente per mappare utilizzando OpenLayers
- 29. ASP.NET ha creato dinamicamente controlli e postback
- 30. Aggiunta di bean dinamici a Spring Web Contesto
Grazie, sto iniziando a fare progressi. Quindi se il mio usercontrol contiene diversi controlli, stai dicendo che posso passare i dati "tutto in una volta" al TabItem impacchettando i dati in un oggetto? Presumibilmente quindi l'usecontrol potrebbe contenere un metodo per fare proprio quello che potrei chiamare? –
@Paul In così tante parole sì. Nel tuo UserControl puoi quindi utilizzare DataBinding, dal momento che quando imposti il DataContext del TabItem si sovrapporrà. Quindi in UserControl i tuoi controlli possono essere associati ai dati all'interno di DataContext. –
Mille grazie Aaron per tutto il tuo aiuto, solo una domanda in più, ogni tabitem è identico ma non sono sicuro che il miglior controllo (i) da usare. Su ogni scheda ho bisogno di visualizzare 'righe' che rappresentano ogni riga letta da un database. Ogni riga di dati è composta da 3 campi di testo, un valore booleano e un numero intero compreso tra 1 e 4 che rappresenta una delle 4 possibili immagini. Ho bisogno di visualizzare il testo, il valore booleano, (in una casella di controllo) e l'immagine corrispondente con un controllo appropriato con cui cambiarlo. Potrei farlo in qualche modo con un datagrid? –