Dopo aver fatto clic sui pulsanti WPF nella nostra app, si illuminano di blu, di nuovo sul colore originale, di nuovo su blu, ecc. Questo sembra essere il comportamento predefinito su Windows Vista/7. Non succede su XP. Qualche consiglio?Tasti WPF incandescente
7
A
risposta
8
È necessario eseguire l'override del modello di pulsante predefinito: http://mark-dot-net.blogspot.com/2007/07/creating-custom-wpf-button-template-in.html dovrebbe essere avviato.
In particolare Sezione 3:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF4788c8" />
<Setter Property="Foreground" Value="#FF4788c8" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#FFFFD190" Offset="0.35"/>
<GradientStop Color="Orange" Offset="0.95"/>
<GradientStop Color="#FFFFD190" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter TargetName="content" Property="RenderTransform" >
<Setter.Value>
<TranslateTransform Y="1.0" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsDefaulted" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="#FF282828" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="border" Property="Opacity" Value="0.7" />
<Setter Property="Foreground" Value="Gray" />
</Trigger>
</ControlTemplate.Triggers>
1
è necessario sostituire il ControlTemplate
. Altrimenti utilizza i trigger per impostare i colori su eventi come passare il mouse sopra di esso. Se si imposta semplicemente lo Background
, si sta impostando lo sfondo predefinito solo quando non è attiva la funzione Trigger
.
Problemi correlati
- 1. Tastiera WPF Navigazione tasti
- 2. Oggetto GLSL incandescente
- 3. Tasti di scelta rapida in WPF
- 4. Perché non WPF vetrine 8 tasti stile in Windows 8
- 5. Tasti di scelta rapida del livello applicazione in WPF
- 6. Come rilevare più tasti su evento onkeydown in wpf?
- 7. Tasti con effetto non stamperanno
- 8. Rilevamento di combinazioni di tasti
- 9. cacao: Simula Macbook tasti superiori e Tasti multimediali
- 10. Utilizzo di tasti freccia in una casella di testo WPF (C#)
- 11. Tasti di scelta rapida globali in WPF che funzionano da ogni finestra
- 12. I tasti e la scheda Alt non funzionano in Windows Form aperti da un'applicazione WPF
- 13. Tasti comando virgola virgola
- 14. Tasti Swing UIManager.getColor()
- 15. Tasti senza bordi Android
- 16. tasti array dinamico
- 17. Tasti freccia con NSTableView
- 18. combinazione di tasti vb.net
- 19. Intellij IdeaVim cambia tasti
- 20. combinazioni di tasti nascosti (?)
- 21. Tasti mappa rovesciata Groovy
- 22. Tasti esterni Sqlite
- 23. array_diff & tasti numerici rinumerazione
- 24. Tasti multipli Javascript depressi
- 25. Disabilitazione tasti sulla tastiera
- 26. Rileva tasti di stampa
- 27. Python GTK3 Tasti Treeview
- 28. SendKeys.Send Metodo nell'applicazione WPF
- 29. Attiva l'effetto incandescente intorno alla casella di testo mentre è attivo
- 30. Effetto "incandescente" del campo di testo come le pagine di accesso di Twitter e Tumblr?
Grazie! Questo è esattamente ciò di cui avevo bisogno. – Jason
Felice che abbia funzionato per te. – Nate
I trigger saranno più adatti in uno stile che è notevolmente più semplice rispetto all'utilizzo di un ControlTemplate – markmnl