2010-11-09 29 views

Respuesta

85

El Style se crean sólo se dirige a Control y no elementos que se derivan de Control. Cuando no configura el x:Key, está implícitamente configurado en TargetType, por lo que en su caso x:Key="{x:Type Control}".

No hay ninguna manera directa de especificar un Style que se dirige a todos los elementos que se derivan del TargetType del Style. Tienes algunas otras opciones.

Si tiene la siguiente Style

<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}"> 
    <Setter Property="Margin" Value="50" /> 
</Style> 

puede orientar todas las Buttons por ejemplo

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/> 

o utilizar el estilo directamente en cualquier elemento, por ejemplo, Button

<Button Style="{StaticResource ControlBaseStyle}" ...> 
+3

gracias! ¡Exactamente lo que necesitaba! – 00jt

+0

Me preguntaba por qué mi estilo con un tipo de objetivo de 'FrameworkElement' no se aplicaba a todos mis controles: ¡esto respondía a esa pregunta! – qJake

+0

¿Es realmente tan malo, que debo especificar el estilo para todos los tipos de controles colocados en la ventana, no solo por alguna raíz común para todos? –

Cuestiones relacionadas