IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

appliquer un gradient d'opacité sur un bouton circulaire


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut appliquer un gradient d'opacité sur un bouton circulaire
    Bonjour à tous,


    J'ai créé un template de bouton circulaire comme ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     <Style TargetType="Button" x:Key="ElipseButton">
                <!--Set to true to not get any properties from the themes.-->
                <Setter Property="OverridesDefaultStyle" Value="True"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Grid>
                                <Ellipse Fill="{TemplateBinding Background}" />
                                <ContentPresenter HorizontalAlignment="Center"
                                VerticalAlignment="Center"/>
                            </Grid>
                            <!-- Definit les actions du bouton et comment le bouton reagit a celles-ci -->
                            <ControlTemplate.Triggers>
                                <!-- Definit les propriétés quand la souris est au dessus du bouton -->
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Background" Value="{StaticResource colorRed}" />
                                </Trigger>
                                <!-- Definit les propriétés quand le bouton a le focus -->
                                <Trigger Property="IsFocused" Value="True">
                                    <Setter Property="Background" Value="{StaticResource colorDarkBlue}" />
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
    Pour les boutons eux-même je les crée ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <Button Margin=" 5,5,5,5" Width="70" Height="70" Style="{StaticResource ElipseButton}" Click="Button_Click">
                    <StackPanel Orientation="Vertical">
                        <Image Source="/Image/Barcode.png" Width="50" Height="50"/>
                        <TextBlock Text="Barcode" FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
                    </StackPanel>
                </Button>
    Il s'agit donc de boutons transparents circulaires, qui comprennent une image est un texte.

    Il y a une chose que je souhaiterai faire c'est lors du survol du bouton ou lorsqu'il à le focus, que le cercle coloré qui apparaît soit dégradé: transparent vers l'extérieur et couleur pleine vers l'intérieur du bouton.

    Je suis débutant en WPF/XAML et du coup je vois pas trop comment faire et si ma façon d'opérer est correcte.

    A l'avance merci pour votre aide

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    Tu n'as qu'à déclarer un RadialGradientBrush au lieu d'un SolidBrush dans ton "StaticResource colorRed"...
    bon code...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut
    désolé pour la réponse tardive.

    Merci c'est nickel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appliquer l'AOP sur un bouton
    Par safaaa dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 12/06/2012, 13h20
  2. appliquer style à un texte en cliquant sur un bouton radio
    Par nadouj dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/04/2011, 18h43
  3. Réponses: 10
    Dernier message: 05/10/2010, 18h20
  4. Réponses: 1
    Dernier message: 09/04/2009, 19h53
  5. fermeture de l'appliquation sur un bouton
    Par LesLemmings dans le forum Visual C++
    Réponses: 1
    Dernier message: 02/05/2007, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo