Estoy tratando de crear una aplicación que tendrá pestañas donde cada pestaña tendrá un área de botones y una vista.Cómo reutilizar diseños en WPF
Ahora cada pestaña tendrá esencialmente el mismo diseño simplemente diferentes cosas en el diseño y quería poder reutilizar el mismo diseño para que no tenga que cambiar en muchos lugares (simplemente no es una buena programación). ¿Puedo lograr esto usando recursos o tal vez estilos?
Proporcione un ejemplo de código de luz si es posible.
EDIT: he decidido agregar un ejemplo de lo que estoy tratando de hacer porque todavía no lo entiendo.
Bajo cada TabItem que estoy tratando de recrear esta rejilla (Es un poco más complicado, pero se entiende la idea):
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Margin="10"
BorderBrush="{StaticResource MediumColorBrush}"
CornerRadius="10"
BorderThickness="2"
Grid.Row="0">
<!-- First content goes here -->
</Border>
<Border Margin="10"
BorderBrush="{StaticResource MediumColorBrush}"
CornerRadius="10"
BorderThickness="2"
Grid.Row="1">
<!-- Second content goes here -->
</Border>
</Grid>
como se puede ver también las fronteras 2 son los mismos. Ahora necesito poner algún marcador de posición de contenido donde están mis comentarios. Quiero declarar este diseño de Grilla en un diccionario de recursos y luego, donde lo uso, pongo contenido separado en cada borde.
Puede tener muchos TabItems, por lo que repetir este código no es una buena idea y cada página de pestaña tendrá contenido diferente en los 2 marcadores de posición.
soy capaz de usar la cosa
<ContentPresenter Content="{Binding}" />
pero sólo por 1 contenido, lo que sucede cuando habrá más.
Gracias, todavía me estoy volviendo loco con WPF. Ahora me acabo de dar cuenta de la posibilidad de crear mi propia clase que hereda de TabItem pero tiene la estructura lista. Aunque no estoy seguro de si esto funciona, ya que no sé cómo agregar cosas en los diseños. –
Ok, descubrí que no puedes heredar clases Xaml, así que eso no me sirve. Todos los artículos que mencionaste tratan sobre la personalización de controles que no reutilizan los diseños y si quisieras decir que podría personalizar el TabItem o algo para que esto funcione, no lo estoy viendo. –
Personalizar TabItem no me parece correcto (aunque puede hacerlo a través de controles personalizados). En su lugar, podría crear un control de usuario y colocarlo dentro de cada TabItem. Una solución más elegante es crear DataTemplate y usarlo como ItemTemplate para el TabControl ... – Anvaka