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 :

Blend Multiple trigger


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut Blend Multiple trigger
    Bonjour,

    J'utilise Expression Blend 4.

    Je souhaite agrandir la taille d'une Panel sur le clic d'un bouton et diminuer sa taille sur un second click.

    Je ne parviens pas a partir de blend a faire un click conditionnel (du style si je clique sur le bouton et que le panel est petit alors je souhaite l'agrandir sinon je souhaite diminuer sa taille).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <UserControl.Resources>
            <Storyboard x:Key="Storyboard1">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" Storyboard.TargetName="stackPanel">
                    <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="25"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>
        </UserControl.Resources>
        <UserControl.Triggers>
            <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="button">
                <BeginStoryboard x:Name="Storyboard1_BeginStoryboard" Storyboard="{StaticResource Storyboard1}"/>
            </EventTrigger>
        </UserControl.Triggers>
    Quelqu'un a t'il une solution sous blend ?

    Je vous remercie d'avance.

    Arnaud

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    le mieux c'est d'utiliser un tooglebutton
    a l'etat checked tu agrandi
    a l'etat unchecked tu reduit

    si tu colle style du toogle comme un bouton pour les checked et unchecked tu as pas le sentiment d'avoir un toggle button

    maintenant je me demande si en changeant le style d'un expander ca serait aps encore plus simple lol

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut
    Merci pour ta réponse,

    Je souhaite faire des actions différentes suivant des états.
    J'en ai cité deux mais il y en aura plus.

    D'où l'utilité d'ajouter des états, conditions, ... ou autres.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    tu peux tres bien te creer un bouton multi etat
    qui renvois un State avec un numero
    et tu trig dessus
    property="State" Value="1" .....

    regarde les triggers sur les checked et uncheck du toogle

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut
    Sais tu comment checker ce statut sous Blend?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    c'est a dire ?

  7. #7
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Bonsoir,

    Si tu ne veux pas développer un contrôle, tu peux utiliser les triggers du style pour définir la valeur de la propriété Tag et faire des actions différentes en fonction de sa valeur.

    Par exemple :
    Si Tag = 1 --> déclencher ton action et passer le tag à la valeur 2.
    Si Tag = 2 --> déclencher ton action et passer le tag à la valeur 3.
    ...
    Si Tag = n --> déclencher ton action et passer le tag à la valeur 1.

    Je pense que c'est possible mais je n'ai pas testé... Mais je vois pas trop le type de contrôle pouvant dépasser 3 états...

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    voila tu peux faire ca
    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
     
    	<Grid x:Name="LayoutRoot">
    		<ContentControl Margin="0,0,240,0" Height="152" VerticalAlignment="Top">
    			<ContentControl.Style>
    				<Style TargetType="{x:Type ContentControl}">
    					<Setter Property="Template">
    						<Setter.Value>
    							<ControlTemplate TargetType="{x:Type ContentControl}">
    								<StackPanel Orientation="Vertical">
    									<ToggleButton x:Name="btn" Height="25"/>
    									<Rectangle x:Name="rec" Height="50" Fill="red"/>
    								</StackPanel>
    								<ControlTemplate.Triggers>
    									<Trigger Property="IsChecked" Value="true" SourceName="btn" >
    										<Setter TargetName="rec" Property="Height" Value="200" />
    									</Trigger>
    								</ControlTemplate.Triggers>
    							</ControlTemplate>
    						</Setter.Value>
    					</Setter>
    				</Style>
    			</ContentControl.Style>
    		</ContentControl>
    	</Grid>
    si tu veux te faire un element a plusieurs etat tu fais un control avec une DP sur une enumeration qui va remplacer le toggle
    tu changera la value en consequence

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/06/2013, 11h26
  2. Triggers BEFORE INSERT multiples sur la même table
    Par king_abdel dans le forum PL/SQL
    Réponses: 6
    Dernier message: 04/08/2010, 17h27
  3. Blend 4 et son panneau triggers
    Par ndufosse dans le forum Silverlight
    Réponses: 7
    Dernier message: 20/06/2010, 19h47
  4. trigger "update sur insert" avec insertion multiple
    Par harf18 dans le forum Développement
    Réponses: 4
    Dernier message: 18/05/2009, 14h46
  5. [WPF/Blend] Affichage des contenus multiples dans l'arbre du designer
    Par Rolsct dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 19/01/2009, 21h29

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