Je veux styler le ToggleButton pour changer de couleur lorsque j'appuie dessus, et garder cette couleur jusqu'à ce que je l'enfonce à nouveau. Actuellement, le survol de la souris change la couleur après qu'il a été pressé et la souris quitte le bouton bascule. J'ai enlevé le changement de couleur mouseover et cela m'a permis de définir la couleur dans l'état Checked, mais je ne veux pas perdre l'effet mouseover. Y a-t-il un moyen d'avoir les deux? J'ai créé mon propre expandeur, m'enseignant à propos de la création de contrôles, mais je ne vois pas comment avoir le mouseover et une couleur pressée qui statiques, le mouseover dans mon exemple ne devrait être réinitialisé que si le bouton n'était pas cliqué/coché. Je travaille hors de ce style ToggleButton: http://msdn.microsoft.com/en-us/library/cc296245(v=vs.95).aspxToggleButton MouseOver Vérifié Pressé Question
Répondre
This MSDN Link dans les revendications la section Remarques:
auteurs ControlTemplate objets de VisualState à un VisualStateGroup dans un ControlTemplate pour spécifier le comportement visuel du contrôle. Vous mettez des états mutuellement exclusifs dans le même VisualStateGroup. Par exemple, CheckBox a deux objets VisualStateGroup. L'un contient les états Normal, MouseOver, Pressed et Disabled. L'autre contient les états Checked, UnChecked et Indeterminate. Le CheckBox peut être dans les états MouseOver et UnChecked en même temps, mais il ne peut pas être dans les états MouseOver et Pressed en même temps. Je suis assez nouveau pour Silverlight, mais il semblerait que vous deviez utiliser un 2ème contrôle comme une bordure ou un rectangle, pas sûr si c'est une option, mais vous pouvez également le configurer pour changer un pinceau de bordure Couleur sur la souris.
L'ordre de vos déclencheurs est important. Ce style fonctionne comme vous l'avez spécifié.
<Style x:Key="{x:Type ToggleButton}" TargetType="{x:Type ToggleButton}">
<Setter Property="Foreground" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border Name="Border" BorderThickness="1" Background="Gray" BorderBrush="Gray">
<ContentPresenter Name="ContentHost" Margin="8,3" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="true" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border" Property="Background" Value="Yellow" />
<Setter TargetName="Border" Property="BorderBrush" Value="Yellow" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="Border" Property="Background" Value="Red" />
<Setter TargetName="Border" Property="BorderBrush" Value="Red" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="Background" Value="Green" />
<Setter TargetName="Border" Property="BorderBrush" Value="Green" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border" Property="Opacity" Value="0.25" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Cela fonctionnerait-il également dans SilverLight? Ou juste WPF? – Terco
@Wallstreet J'apprécierais également si vous avez développé en quoi l'ordre des déclencheurs est important. – StephenT
@Bob: Non c'est purement une réponse WPF, ne fonctionne pas dans Silverlight. – AnthonyWJones
- 1. jQuery et question mouseover
- 2. jquery mouseover question
- 3. jquery mouseover question
- 4. WPF Styles Button MouseOver Question
- 5. jQuery Table Row question Mouseover
- 6. L'état ToggleButton de WPF est réinitialisé à l'état normal et non vérifié après le passage de la souris
- 7. Silverlight Togglebutton Set IsPressed état
- 8. AirPlane ToggleButton?
- 9. Android ToggleButton
- 10. débutants malheurs togglebutton tableaux?
- 11. Personnalisé ToggleButton dans Xamarin.Android
- 12. Définir drawable pour CheckedTextView pour l'état vérifié et pressé dans Android
- 13. ToggleButton IsChecked déclencheur
- 14. changement d'image ToggleButton selon l'état
- 15. ToggleButton Style ne fonctionne que sur le dernier ToggleButton
- 16. ToggleButton NullPointerException dans Android
- 17. Application Android - Java - ToggleButton
- 18. Manipulation togglebutton ControlTemplate
- 19. Android indicateur ToggleButton
- 20. Liaison à ToggleButton
- 21. Redimensionner dynamiquement ToggleButton Android?
- 22. UiBinder fonctionne avec ToggleButton
- 23. WPF ToggleButton et DelegateCommand
- 24. Utiliser Android 4.0 style togglebutton
- 25. Gerrit supprimer Besoin Vérifié +1 (Vérifié)
- 26. UiButton garder pressé
- 27. Crash Android ToggleButton (ressource NullPointerException)
- 28. vérifié PHP
- 29. Grails "vérifié" exception
- 30. quantité Count bouton pressé
Pouvez-vous décrire l'effet que vous voulez réellement? Le modèle par défaut renvoie l'état vérifié en utilisant la direction du dégradé. Si vous n'utilisez pas cette apparence que vous voulez quand le bouton est à la fois vérifié et la souris est dessus? – AnthonyWJones
Vous rencontrez le même problème que dans cette question: http://stackoverflow.com/questions/3596026/custom-styled-listbox-how-can-i-keep-the-style-for-a-selected-item/ 3596570 # 3596570 – Denis