Estoy agregando Tabitems dinámicamente a un control de pestañas en tiempo de ejecución (en C#) y eso funciona bien, pero ¿cómo puedo agregar dinámicamente controles a los nuevos Tabitems? Los Tabitem deben ser dinámicos porque dependen de cuántas filas de datos se leen desde una base de datos. El diseño de cada Tabitem será idéntico. GraciasWPF - ¿Agregar controles dinámicos a Tabitem agregado dinámicamente?
8
A
Respuesta
2
El TabItem es un control de contenido, por lo que acaba de establecer su propiedad Content ser cualquier tipo de elemento que desea visualizar (por ejemplo, una cuadrícula que contiene otros elementos, etc.)
4
utilizar la propiedad Content de la nueva TabItem, allí se puede fijar cualquier cosa, como cuerdas u otros controles de WPF:
private void AddChildControl(TabItem tabItem)
{
StackPanel newChild = new StackPanel();
tabItem.Content = newChild;
}
10
Si cada TabItem
va a tener el mismo diseño me basta con crear una UserControl
que abarca lo que necesita de un diseño y control de la postura y luego lugar que dentro de la propiedad TabItem.Content
.
A continuación, puede pasar los datos a través de la representación del objeto a la propiedad TabItem.DataContext
para iniciar y hacer uso del enlace.
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
Cuestiones relacionadas
- 1. Agregar controles dinámicamente en WPF MVVM
- 2. Agregar controles dinámicamente a controles de usuario
- 3. Agregar eventos a controles agregados dinámicamente
- 4. Agregar botones jQueryui a contenido agregado dinámicamente
- 5. TabItem Enlace WPF
- 6. WPF: Cómo agregar controles dinámicamente en la ventana WPF creada dinámicamente
- 7. ¿Cómo preparo los controles en un TabItem en WPF?
- 8. Agregar espacios entre controles WPF
- 9. WPF TabItem Header Images
- 10. Wpf - Contextmenu en TabItem Header
- 11. Cómo agregar controles dinámicamente al formulario ASP.NET?
- 12. Agregar controles mediante programación al formulario WPF
- 13. Agregar un control a una lista de controles dinámicamente
- 14. WPF: Agregar controles desde el código
- 15. WPF Encuadernación de datos TabItem Encabezados
- 16. Validar el control agregado dinámicamente
- 17. propiedad IsSelected de WPF TabItem
- 18. Controles añadidos dinámicamente en Asp.Net
- 19. ¿Controles dinámicos creados dentro de UpdatePanel?
- 20. Adición de cuadrícula y controles dinámicamente en WPF
- 21. WPF: ¿cómo cargo dinámicamente los controles de usuario?
- 22. Agregar dinámicamente miembros a un objeto dinámico
- 23. Estilos WPF para TabControl/TabPanel/TabItem
- 24. Panel ExtJs: agregar componentes dinámicos
- 25. WPF: ¿Cómo establecer el fondo de TabItem?
- 26. Controles compuestos de WPF
- 27. WPF Tooltip con controles
- 28. Agregar hipervínculo a WPF WPF
- 29. Agregar PostBackTriggers y AsyncPostBackTriggers a UpdatePanel para controles de nieto generados dinámicamente
- 30. Controles de usuario WPF frente a controles personalizados
Gracias, estoy empezando a hacer algunos progresos ahora. Entonces, si mi usercontrol contiene, por ejemplo, varios controles, ¿está diciendo que puedo pasar los datos 'todo de una vez' al TabItem empaquetando los datos en un objeto? Presumiblemente, ¿el control de uso podría contener un método para hacer exactamente lo que yo podría llamar? –
@Paul En muchas palabras, sí. En su UserControl, puede utilizar DataBinding, ya que cuando configura el DataContext del TabItem, caerá en cascada. Luego, en UserControl, sus controles pueden vincularse a los datos dentro de DataContext. –
Muchas gracias Aaron por toda su ayuda, solo una pregunta más, cada tabitem es idéntico pero no estoy seguro de cuál es el mejor control para usar. En cada pestaña, necesito mostrar 'filas' que representen cada fila leída desde una base de datos. Cada fila de datos consta de 3 campos de texto, un booleano y un entero en el rango 1-4 que representa una de 4 posibles imágenes. Necesito mostrar el texto, el valor booleano, (en una casilla de verificación) y la imagen correspondiente con algún control adecuado para cambiarlo. ¿Podría hacer esto de alguna manera con una cuadrícula de datos? –