¿Hay alguna forma de configurar estilos globales para mi aplicación WPF?WPF - ¿Estilo global?
Lo que espero hacer es aplicar un estilo a todos mis botones que también tengan un elemento secundario Image.
¿Hay alguna forma de configurar estilos globales para mi aplicación WPF?WPF - ¿Estilo global?
Lo que espero hacer es aplicar un estilo a todos mis botones que también tengan un elemento secundario Image.
Bueno, más o menos - es un enfoque general que puedes hacer - coloca el siguiente elemento en tu App.xaml - todos los botones cambiarán (excepto aquellos a los que apliques un estilo, de forma manual).
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="LightPink"/> <!-- You should notice that one... -->
</Style>
Sin embargo, si usted desea golpear sólo botones con imágenes - que tiene que heredar de cada botón que hace y luego aplicar un estilo como este:
public class CustomImageButton:Button{}
<Style TargetType="{x:Type local:CustomImageButton}">
<Setter Property="Background" Value="LimeGreen"/>
</Style>
<local:CustomImageButton Content="ClickMe"/>
Es un grano muy grueso estilo global, y debe seguir la convención para que funcione.
Una alternativa es usar Temas - leer más sobre eso here.
Puede hacerlo estilos implícitos en WPF que se aplican según el tipo
por ejemplo
<Style TargetType="Button">
se aplicará a todos los botones dentro del ámbito de ese estilo (Si el estilo está en la aplicación. XAML se aplicará a todos los botones, si está más abajo en la cadena se aplicará a todos los botones debajo de él)
Si desea aplicarlo solo a ciertos tipos de botones (digamos botones de imagen) cree un tipo que derive de botón (llámalo ImageButton) y luego crea como tyle dirigido a ese tipo.
OK ... este tipo de obras. Uno de mis botones parece respetar este cambio, pero los otros no. Todos funcionan si doy al estilo una 'x: Key' y luego lo llamo explícitamente de cada botón usando' Style = "{StaticResource DisabledButton}" '. ¿De alguna manera puedo evitar tener que agregar una referencia explícita a cada botón? –
Asegúrese de que el diccionario de recursos donde se define este estilo esté dentro del alcance de todos los botones a los que necesite aplicar el estilo. La colocación de este estilo en App.xaml será visible para todos los botones en la aplicación. Moverse más abajo restringirá su visibilidad. –
Ponga el estilo en una etiqueta ResourceDictionary dentro de su App.xaml y se aplicará a toda la aplicación.
Lamentablemente, el enlace a temas está muerto. [Aquí] (http://blogs.msdn.com/b/wpfsdk/archive/2007/07/31/using-themes-with-custom-controls.aspx) es un enlace a un artículo de MSDN sobre el uso de temas que puede ser similar. –