2013-08-18 17 views
11

Ho un figlio UserControl composto da più caselle di testo, etichette, immagini ecc. Ho bisogno di compilare questo controllo utente in un controllo utente padre che ha una griglia.Aggiungi righe/colonne dinamicamente a una griglia

Il numero di controlli utente figlio che devono essere compilati nel controllo utente genitore sono determinati in fase di esecuzione e possono essere modificati. Fondamentalmente il numero dipende dal risultato della ricerca. Quindi può essere da 0 a n.

Come è possibile popolare il controllo utente di mio figlio nel controllo genitore? O c'è un alternativa migliore all'utilizzo di un controllo Grid per questo?

Nota: Devo farlo nel mio ViewModel.

risposta

12

Per avere una dimensione dinamica Grid (colonna/conteggio delle righe), è possibile utilizzare aiutanti quali @Rachel s' WPF Grid’s Row/Column Count Properties

Nel vostro caso, questo dipende da cosa esattamente il vostro cercando di ottenere come nei casi più semplici in base al contesto, quando esiste un requisito come:

Il numero di controlli utente figlio che devono essere compilati nel controllo utente genitore sono determinati in fase di esecuzione e possono essere modificati. Fondamentalmente il numero dipende dal risultato della ricerca. Quindi può essere da 0 a n.

Preferirei andare con un ItemsControl (Example). Usa il ItemTemplate per collegarti al tuo bambino UserControl. Se necessario, puoi anche modificare lo ItemsPanel per controllare il layout come meglio credi.

+0

Eccellente che è ESATTAMENTE quello che dovevo fare. Grazie bundles :) – WAQ

+0

So che ha risposto, ma per aiutare gli altri, controlla http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(v=vs.90).aspx#feedback – user2330678