J'avais auparavant windows xp et le réglage de l'arrière-plan du bouton wpf a toujours fonctionné, mais depuis Windows 7, l'arrière-plan est toujours défini sur bleu. Comment pourrais-je résoudre ce problème?Fond de bouton WPF dans Windows 7
Répondre
Vous aurez probablement besoin de créer votre propre modèle pour les boutons. (Je suppose que c'est juste la couleur du survol avec laquelle vous vous battez, pas la couleur de base, qui suit la propriété Arrière-plan).
Voici un modèle de bouton très simple, qui pourrait vous aider à démarrer. BackBrush et ForeBrush auront besoin d'un réglage approprié. (Et ils sont le dos et Fore du reste de l'application, donc ils regardent en arrière dans cet exemple)
<Style TargetType="{x:Type Button}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="ClickMode" Value="Press"/>
<Setter Property="TextBlock.TextWrapping" Value="Wrap"/>
<Setter Property="BorderBrush" Value="#e9dbae" />
<Setter Property="Foreground" Value="{StaticResource BackBrush}" />
<Setter Property="Background" Value="{StaticResource ForeBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<Border
x:Name="Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="2"
CornerRadius="2"
SnapsToDevicePixels="False"
RenderTransformOrigin="0.5,0.5"
TextBlock.Foreground="{TemplateBinding Foreground}" >
<ContentPresenter
Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.975" ScaleY="0.975" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#999999"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Pour jouer avec Backgrounds Ajouter à Window.Resources (ou toute autre application ResourceDictionary) ce style:
<Style TargetType="Button">
<Setter Property="Background" Value="Black"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Moccasin"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
Cela fonctionne si vous n'avez pas besoin de redéfinir modèle de bouton (aspect géométrique du bouton). Ici, nous ne spécifions pas Style x:Key
alors ce style sera appliqué à tous les boutons dans la portée de ressources spécifiée. Pour spécifier les styles avec différentes apparences, vous devez chaque marque de style avec x:Key="StyleName"
puis dans le bouton Définir un style Style="{DynamicResource StyleName}"
ou Style="{DynamicResource StyleName}"
- 1. ComboBox de style Windows 7 dans WPF
- 2. Windows Phone 7 bouton "frontières"
- 3. Les contrôles WPF disparaissent dans Windows 7?
- 4. Windows Phone 7 Précédent Numéro du bouton
- 5. Désactiver l'animation tactile de Windows 7 dans WPF
- 6. Windows 7 comme style de formulaire dans C# (WPF)
- 7. L'application WPF Windows 7 se bloque
- 8. Windows Phone 7 Contrôle Pivot pour WPF?
- 9. Effet Google Chrome/Windows 7 sur WPF?
- 10. Windows changement de bouton WPF et XAML
- 11. Windows 7 Taskbar progrès
- 12. Obtenir l'événement du bouton UI dans Windows Phone 7
- 13. Windows 7 Bouton de téléphone avec plusieurs blocs de texte
- 14. Pin fenêtre WPF sur le bureau dans Windows 7
- 15. Clavier tactile Windows 7 dans une application WPF
- 16. WPF Désactiver Autorun pour les médias amovibles dans Windows 7
- 17. Windows 7 Touch
- 18. Dans Windows Phone 7
- 19. bouton Modifier fond
- 20. référence GUI Windows 7
- 21. Windows Phone 7 États
- 22. Hiding un bouton dans WPF
- 23. WPF: fond ComboBoxItem
- 24. WPF Fabergé bien dans XP, mais sont coupés en bas dans Vista et Windows 7
- 25. Windows 7 Écran tactile "Shrug"
- 26. Windows 7 Style dans Windows XP
- 27. C# Windows formes crash dans Windows 7
- 28. Windows 7 Jump List
- 29. installer le service Windows dans Windows 7
- 30. Est-il possible d'utiliser des thèmes Windows 7 par défaut dans Windows Embedded Standard 7?
la propriété « OverridesDefaultStyle » a en partie, maintenant j'ai seul problème avec IsMouseOver. l'arrière-plan change pendant une fraction de seconde puis redevient bleu. – Sys