2009-11-20 12 views
8

¿Existe alguna manera de crear un estilo que amplíe el estilo actual, es decir, no un estilo específico?Estilo WPF basado en la corriente

Tengo una aplicación WPF donde creo estilos para establecer algunas propiedades como bordes o validación.

<Style TargetType="{x:Type Button}" 
      BasedOn="{StaticResource {x:Type Button}}"> 
     <Setter Property="Padding" Value="5,2,5,2"/> 
    </Style> 

Ahora quiero probar algunos temas para ver cuál funciona mejor para mi aplicación. El problema es que para hacer eso necesito cambiar la propiedad BasedOn en todos mis estilos al estilo en el tema.

<Style TargetType="{x:Type Button}" 
      BasedOn="="{x:Static ns:SomeTheme.ButtonStyle}">"> 
     <Setter Property="Padding" Value="5,2,5,2"/> 
    </Style> 

Lo puedo hacer a través de buscar/reemplazar, pero sería bueno si se pudiera hacer de forma dinámica.

Respuesta

5

Debe hacerlo de esta manera solamente, no hay atajos para hacer esto, tiene que establecer el atributo Basado en al menos.

-3

Ha intentado DynamicResource en lugar de StaticResource.

+0

mensaje de error: "Propiedad 'BasedOn' no admite valores de tipo 'DynamicResourceExtension'" – adrianm

Cuestiones relacionadas