1 votes

Wpf ImageButtons ?

J'ai créé une application WPF qui comporte de nombreux boutons.

Maintenant, le client veut changer tous les boutons en icônes. Par exemple : Tous les boutons OK doivent avoir la même icône, tous les boutons d'annulation et ainsi de suite.

Je veux mettre dans tous les boutons Style="{StaticResource ButtonStyle_OK}", Style="{StaticResource ButtonStyle_OK}" etc.

Ma question est la suivante : en général, que dois-je placer dans ces styles ?

<Style x:Key="ButtonStyle_OK" TargetType="Button">
    <!-- What comes here? -->                
</Style>

J'ai peur de devoir changer tous les boutons de mon application en Image et d'utiliser l'événement MouseDown pour le clic, est-ce que ce serait stupide ?

NOTES : Je veux que les boutons soient une image - pas un bouton qui contient une image (c'est-à-dire que je ne veux pas le cadre original du bouton), en parlant de la forme. Je veux que ces boutons/styles soient réutilisables.

3voto

Muad'Dib Points 14260

Les mettre dans un dictionnaire de ressources, puis il suffit de changer de dictionnaire pour modifier le style et à peu près tout ce qui concerne l'interface utilisateur des boutons, etc.

Je pense que vous voulez un modèle de contrôle dans la ou les balises, quelque chose comme ceci :

<Setter TargetType="{x:Type Button}">
     <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="{x:Type Button}">
             </ControlTemplate>
         </Setter.Value>
     <Setter Property="Template">
</Setter>

vous devriez pouvoir trouver le modèle par défaut en ligne (MSDN) relativement facilement. Je vous recommande d'utiliser Blend pour faire cela (si vous le pouvez) - cela peut rendre les choses beaucoup plus faciles.

2voto

benPearce Points 9817

Jetez un coup d'œil à cet article de MSDN sur le stylisme. http://msdn.microsoft.com/en-us/library/ms745683.aspx

Je pense que vous pourriez être en mesure d'obtenir des résultats en lisant la section ControlTemplate.

De plus, comme l'a noté Chris, les styles peuvent être placés dans un dictionnaire de ressources et peuvent ensuite être appliqués globalement à tous les boutons en omettant une clé.

MISE À JOUR : Vous n'aurez pas besoin d'utiliser l'image avec l'événement click, l'utilisation du ControlTemplate vous permettra de définir plus précisément l'apparence du bouton.

Un autre exemple - http://mrpmorris.blogspot.com/2008/04/wpf-custom-button-templates.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X