C'è un modo per impostare gli stili globali per la mia applicazione WPF?WPF - Stile globale?
Quello che spero di fare è applicare uno stile a tutti i miei pulsanti che hanno anche un figlio Image.
C'è un modo per impostare gli stili globali per la mia applicazione WPF?WPF - Stile globale?
Quello che spero di fare è applicare uno stile a tutti i miei pulsanti che hanno anche un figlio Image.
Bene, un po '- è un approccio generale che puoi fare - inserisci il seguente elemento in App.xaml - tutti i pulsanti cambieranno (tranne quelli a cui applichi uno stile, manualmente).
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="LightPink"/> <!-- You should notice that one... -->
</Style>
Tuttavia, se si vuole colpire solo i pulsanti con immagini - si deve ereditare da pulsante ogni volta che fai e poi applicare uno stile come questo:
public class CustomImageButton:Button{}
<Style TargetType="{x:Type local:CustomImageButton}">
<Setter Property="Background" Value="LimeGreen"/>
</Style>
<local:CustomImageButton Content="ClickMe"/>
È una grana molto grossa stile globale - e devi seguire la convenzione per farlo funzionare.
Un'alternativa è usare Temi - leggi di più su quello here.
Si può fare stili impliciti in WPF che vengono applicati per tipo
per esempio
<Style TargetType="Button">
verrà applicata a tutti i pulsanti nell'ambito di quello stile (Se lo stile è in App. XAML si applica a tutti i pulsanti, se è inferiore nella catena si applica a tutti i pulsanti sottostanti)
Se si desidera applicarlo solo a determinati tipi di pulsanti (ad esempio i pulsanti immagine) creare un tipo che deriva da pulsante (chiamarlo ImageButton) e quindi creare come tyle mirato a quel tipo.
OK ... questo tipo di opere. Uno dei miei pulsanti sembra rispettare questo cambiamento, ma gli altri no. Funzionano tutti se io do uno stile 'x: Key' e poi lo chiamo esplicitamente da ogni pulsante usando' Style = "{StaticResource DisabledButton}" '. In qualsiasi modo posso evitare di dover aggiungere un riferimento esplicito a ciascun pulsante? –
Assicurarsi che il dizionario delle risorse in cui è definito questo stile sia compreso nell'ambito di tutti i pulsanti a cui è necessario applicare lo stile. L'inserimento di questo stile in App.xaml sarà visibile a tutti i pulsanti nell'app. Lo spostamento verso il basso limiterà la sua visibilità. –
Inserisci lo stile in un tag ResourceDictionary all'interno di App.xaml e verrà applicato all'intera app.
Sfortunatamente il collegamento a Themes è morto. [Qui] (http://blogs.msdn.com/b/wpfsdk/archive/2007/07/31/using-themes-with-custom-controls.aspx) è un collegamento a un articolo da MSDN sull'utilizzo di temi che potrebbe essere simile –