Lo que me gustaría es un control que funcione igual que el control de pestañas, pero en lugar de tener pestañas en la parte superior, los elementos se mostrarán en un cuadro de lista a lo largo del costado. Me imagino que es posible, pero no he encontrado ningún ejemplo. Espero que haya alguien aquí que haya hecho algo como esto.¿Es posible crear una plantilla de control de pestañas WPF que no se parezca en nada a un control de pestañas?
Respuesta
No necesita usar un TabControl
en absoluto. Se podía vincular a su ListBox
a una lista de elementos, y poner un ContentControl
junto a él, unido al elemento seleccionado:
<DockPanel>
<ListBox Name="listBox"
DockPanel.Dock="Left"
ItemsSource="{Binding Items}"
DisplayMemberPath="Name"/>
<ContentControl Content="{Binding SelectedItem, ElementName=listBox}"
ContentTemplate="{StaticResource theTemplate}"/>
</DockPanel>
Los controles WPF están diseñados para permitir exactamente lo que desea. Para reutilizar la funcionalidad de control mientras se reemplaza completamente la representación visual. Deberá crear su propio ControlTemplate
para el TabControl
. Puede encontrar un TabControl ControlTemplate Example on MSDN. También deberás estudiar el Control Authoring Overview on MSDN.
De hecho, encuentro que la documentación de Silverlight 3 es algo más fácil de digerir, y aunque hay algunas diferencias cuando se trata de controlar el diseño, los conceptos fundamentales siguen siendo los mismos. Puede leer Customizing the Appearance of an Existing Control by Using a ControlTemplate on MSDN para obtener información sobre plantillas de control y luego estudiar TabControl Styles and Templates para descubrir qué se necesita para crear su propia plantilla de control en Silverlight.
Puede usar Expression Blend para extraer la plantilla predeterminada TabControl
en WPF.
Gran valoración crítica que resume el poder y la intención de WPF controla muy bien. Aún no se me ha considerado merecedor de la posibilidad de votar, de lo contrario, esta es otra respuesta útil a la que habría dado crédito. Quizás recordaré volver a este ya que es mi propia pregunta si alguna vez llego a ese punto. – jan
- 1. Cómo crear pestañas trapezoidales en el control de pestañas WPF
- 2. C control de pestañas win32
- 3. Separación de control de pestañas WPF entre los encabezados
- 4. Crear un control de pestañas con un número dinámico de pestañas en Visual Studio C#
- 5. Control de pestañas como las pestañas de Google Chrome?
- 6. Cómo colocar las pestañas WPF Tab Control en el lado
- 7. ¿Hay un control de pestañas Jquery que maneje bien varias líneas de pestañas?
- 8. ¿Es posible hacer que el control de pestañas de WinForms pueda hacer el reordenamiento de pestañas como IE o Firefox?
- 9. WPF: ¿eventos en una plantilla de control?
- 10. WPF DataGrid Plantilla de control
- 11. ¿Hay un control de asistente en WPF?
- 12. ¿Cómo implemento un control de pestañas con pestañas verticales en C#?
- 13. Fijar pestañas en un panel de pestañas
- 14. ¿Cómo crear un control de pestaña WPF como chevron list?
- 15. WPF Custom Control - ItemsControl plantilla no se aplica
- 16. Plantilla de control personalizado de WPF no aplicada
- 17. Crear barra lateral con pestañas con las secciones WPF
- 18. Controles de usuario de WPF en pestañas separadas: ¿por qué el nombre de grupo de radiobutton se comparte entre pestañas?
- 19. ¿Es posible evitar un rediseño de control WPF?
- 20. ¿Es posible extender una plantilla de control de la misma forma que extiende un estilo en WPF?
- 21. ¿Es posible obtener el Hwnd de un control emergente WPF?
- 22. ¿Es posible dibujar el control WPF sobre el control HwndHost?
- 23. ¿es posible anclar un control a otro control?
- 24. Cómo heredar una plantilla de control
- 25. Insertar pestañas en un cuadro de texto
- 26. Copie un control WPF programáticamente
- 27. Pestañas de IU de JQuery: cómo evitar que se apliquen estilos al contenido dentro de pestañas?
- 28. Reordenar pestañas en WPF TabControl
- 29. ¿Es posible git grep para pestañas?
- 30. Plantilla de control para controles existentes en WPF
He-he :). Usted escribió esto más rápido que presioné el botón "Publicar su respuesta". Solo quería escribir sobre el escenario de detalles maestros con ListBox, pero lo hizo más rápido :). Aclamaciones. – Anvaka