En <Window.Resources>
he definido siguiente estilo:¿Es posible establecer un estilo en XAML que afecta selectivamente a los controles?
<Style x:Key="textBlockStyle" TargetType="TextBlock">
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
he definido algunos cuadrícula donde tengo cuatro TextBlocks
:
<WrapPanel>
<TextBlock Style="{StaticResource textBlockStyle}">Server</TextBlock>
<TextBlock Style="{StaticResource textBlockStyle}">IP</TextBlock>
<TextBlock Style="{StaticResource textBlockStyle}">Port</TextBlock>
<TextBlock Style="{StaticResource textBlockStyle}">Status</TextBlock>
</WrapPanel>
Problema: Necesito hacer referencia a los textBlockStyle
cuatro veces.
Pregunta: ¿Es posible establecer ese estilo una sola vez en WrapPanel
o en otro lugar sin repetir la referencia al estilo?
Tal vez algo como:
<WrapPanel Style="{StaticResource textBlockStyle}">
<TextBlock>Server</TextBlock>
<TextBlock>IP</TextBlock>
<TextBlock>Port</TextBlock>
<TextBlock>Status</TextBlock>
</WrapPanel>
No estoy buscando una solución global! Podría eliminar esa propiedad x:Key="textBlockStyle"
, pero eso afectaría a todosTextBlocks
en la ventana. Necesito un mecanismo más selectivo, pero sin esa fea duplicación de código.
Normalmente prefiero la opción 2 si tengo el estilo ya definido y lo uso en otro lugar, de lo contrario, la opción 1. Por lo que vale. Gran respuesta Kent. –